SLAPD_SQL_INCLUDES = @SLAPD_SQL_INCLUDES@
SLAPD_SQL_LIBS = @SLAPD_SQL_LIBS@
-LDAPD_LIBS = @LDAPD_LIBS@
+QUIPU_LIBS = @QUIPU_LIBS@
SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@
SLURPD_LIBS = @SLURPD_LIBS@
ac_help="$ac_help
--with-yielding-select with implicitly yielding select (auto)"
ac_help="$ac_help
-LDAPD (X.500-to-LDAP Gateway) Options:"
-ac_help="$ac_help
- --enable-ldapd enable building ldapd (no)"
-ac_help="$ac_help
SLAPD (Standalone LDAP Daemon) Options:"
ac_help="$ac_help
--enable-slapd enable building slapd (yes)"
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:686: checking host system type" >&5
+echo "configure:682: checking host system type" >&5
if test "x$ac_cv_host" = "x" || (test "x$host" != "xNONE" && test "x$host" != "x$ac_cv_host_alias"); then
# Make sure we can run config.sub.
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:727: checking target system type" >&5
+echo "configure:723: checking target system type" >&5
if test "x$ac_cv_target" = "x" || (test "x$target" != "xNONE" && test "x$target" != "x$ac_cv_target_alias"); then
# Make sure we can run config.sub.
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:767: checking build system type" >&5
+echo "configure:763: checking build system type" >&5
if test "x$ac_cv_build" = "x" || (test "x$build" != "xNONE" && test "x$build" != "x$ac_cv_build_alias"); then
# Make sure we can run config.sub.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:844: checking for a BSD compatible install" >&5
+echo "configure:840: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"\${ac_cv_path_install+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:901: checking whether build environment is sane" >&5
+echo "configure:897: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:962: checking for $ac_word" >&5
+echo "configure:958: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_AWK+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
done
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:992: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:988: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:1032: checking for working aclocal" >&5
+echo "configure:1028: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:1045: checking for working autoconf" >&5
+echo "configure:1041: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
fi
echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:1058: checking for working automake" >&5
+echo "configure:1054: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:1071: checking for working autoheader" >&5
+echo "configure:1067: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:1084: checking for working makeinfo" >&5
+echo "configure:1080: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1104: checking for $ac_word" >&5
+echo "configure:1100: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_AMTAR+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking configure arguments""... $ac_c" 1>&6
-echo "configure:1155: checking configure arguments" >&5
+echo "configure:1151: checking configure arguments" >&5
top_builddir=`pwd`
# end --with-yielding_select
-# Check whether --with-xxldapdoptions or --without-xxldapdoptions was given.
-if test "${with_xxldapdoptions+set}" = set; then
- withval="$with_xxldapdoptions"
- :
-fi
-
-# OpenLDAP --enable-ldapd
- # Check whether --enable-ldapd or --disable-ldapd was given.
-if test "${enable_ldapd+set}" = set; then
- enableval="$enable_ldapd"
-
- ol_arg=invalid
- for ol_val in auto yes no ; do
- if test "$enableval" = "$ol_val" ; then
- ol_arg="$ol_val"
- fi
- done
- if test "$ol_arg" = "invalid" ; then
- { echo "configure: error: bad value $enableval for --enable-ldapd" 1>&2; exit 1; }
- fi
- ol_enable_ldapd="$ol_arg"
-
-else
- ol_enable_ldapd="no"
-fi
-# end --enable-ldapd
# Check whether --with-xxslapdoptions or --without-xxslapdoptions was given.
if test "${with_xxslapdoptions+set}" = set; then
LTHREAD_LIBS=
LUTIL_LIBS=
-LDAPD_LIBS=
+QUIPU_LIBS=
SLAPD_LIBS=
SLURPD_LIBS=
-BUILD_LDAPD=no
BUILD_SLAPD=no
BUILD_SLURPD=no
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2628: checking for $ac_word" >&5
+echo "configure:2597: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2680: checking for $ac_word" >&5
+echo "configure:2649: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2740: checking for $ac_word" >&5
+echo "configure:2709: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_RANLIB+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# 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:2770: checking for $ac_word" >&5
+echo "configure:2739: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2800: checking for $ac_word" >&5
+echo "configure:2769: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# 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:2851: checking for $ac_word" >&5
+echo "configure:2820: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2883: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works" >&5
+echo "configure:2852: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
cat > conftest.$ac_ext << EOF
-#line 2894 "configure"
+#line 2863 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:2899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2868: \"$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
{ 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 $CPPFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:2925: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2894: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:2930: checking whether we are using GNU C" >&5
+echo "configure:2899: checking whether we are using GNU C" >&5
if eval "test \"\${ac_cv_prog_gcc+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2939: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2958: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2927: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"\${ac_cv_prog_cc_g+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:3001: checking for ld used by GCC" >&5
+echo "configure:2970: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:3025: checking for GNU ld" >&5
+echo "configure:2994: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:3028: checking for non-GNU ld" >&5
+echo "configure:2997: checking for non-GNU ld" >&5
fi
if eval "test \"\${ac_cv_path_LD+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:3063: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:3032: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"\${ac_cv_prog_gnu_ld+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:3079: checking for BSD-compatible nm" >&5
+echo "configure:3048: checking for BSD-compatible nm" >&5
if eval "test \"\${ac_cv_path_NM+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo "$ac_t""$NM" 1>&6
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:3115: checking whether ln -s works" >&5
+echo "configure:3084: checking whether ln -s works" >&5
if eval "test \"\${ac_cv_prog_LN_S+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case "$lt_target" in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 3170 "configure"' > conftest.$ac_ext
- if { (eval echo configure:3171: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 3139 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:3140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*32-bit*)
LD="${LD-ld} -32"
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:3192: checking whether the C compiler needs -belf" >&5
+echo "configure:3161: checking whether the C compiler needs -belf" >&5
if eval "test \"\${lt_cv_cc_needs_belf+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3197 "configure"
+#line 3166 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ac_tool_prefix}dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3227: checking for $ac_word" >&5
+echo "configure:3196: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_DLLTOOL+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3259: checking for $ac_word" >&5
+echo "configure:3228: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_DLLTOOL+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3294: checking for $ac_word" >&5
+echo "configure:3263: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_AS+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3326: checking for $ac_word" >&5
+echo "configure:3295: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_AS+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3361: checking for $ac_word" >&5
+echo "configure:3330: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_OBJDUMP+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3393: checking for $ac_word" >&5
+echo "configure:3362: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_OBJDUMP+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3461: checking for $ac_word" >&5
+echo "configure:3430: checking for $ac_word" >&5
if eval "test \"\${ac_cv_prog_AWK+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# test for ln hardlink support
echo $ac_n "checking whether ln works""... $ac_c" 1>&6
-echo "configure:3492: checking whether ln works" >&5
+echo "configure:3461: checking whether ln works" >&5
if eval "test \"\${ol_cv_prog_LN_H+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:3515: checking whether ln -s works" >&5
+echo "configure:3484: checking whether ln -s works" >&5
if eval "test \"\${ac_cv_prog_LN_S+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "sendmail", so it can be a program name with args.
set dummy sendmail; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3543: checking for $ac_word" >&5
+echo "configure:3512: checking for $ac_word" >&5
if eval "test \"\${ac_cv_path_SENDMAIL+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "vi", so it can be a program name with args.
set dummy vi; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3579: checking for $ac_word" >&5
+echo "configure:3548: checking for $ac_word" >&5
if eval "test \"\${ac_cv_path_EDITOR+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "finger", so it can be a program name with args.
set dummy finger; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3615: checking for $ac_word" >&5
+echo "configure:3584: checking for $ac_word" >&5
if eval "test \"\${ac_cv_path_FINGER+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3654: checking for $ac_word" >&5
+echo "configure:3623: checking for $ac_word" >&5
if eval "test \"\${ac_cv_path_PERLBIN+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:3705: checking how to run the C preprocessor" >&5
+echo "configure:3674: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 3720 "configure"
+#line 3689 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3726: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3695: \"$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*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 3737 "configure"
+#line 3706 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3743: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3712: \"$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*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 3754 "configure"
+#line 3723 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3760: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3729: \"$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
:
fi
echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:3798: checking for AIX" >&5
+echo "configure:3767: checking for AIX" >&5
cat > conftest.$ac_ext <<EOF
-#line 3800 "configure"
+#line 3769 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:3822: checking for POSIXized ISC" >&5
+echo "configure:3791: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:3844: checking for minix/config.h" >&5
+echo "configure:3813: checking for minix/config.h" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3849 "configure"
+#line 3818 "configure"
#include "confdefs.h"
#include <minix/config.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3854: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3823: \"$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*
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:3893: checking for Cygwin environment" >&5
+echo "configure:3862: checking for Cygwin environment" >&5
if eval "test \"\${ac_cv_cygwin+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3898 "configure"
+#line 3867 "configure"
#include "confdefs.h"
int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:3909: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3878: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:3925: checking for mingw32 environment" >&5
+echo "configure:3894: checking for mingw32 environment" >&5
if eval "test \"\${ac_cv_mingw32+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3930 "configure"
+#line 3899 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:3937: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3906: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
MINGW32=
test "$ac_cv_mingw32" = yes && MINGW32=yes
echo $ac_n "checking for EMX OS/2 environment""... $ac_c" 1>&6
-echo "configure:3953: checking for EMX OS/2 environment" >&5
+echo "configure:3922: checking for EMX OS/2 environment" >&5
if eval "test \"\${ac_cv_emxos2+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3958 "configure"
+#line 3927 "configure"
#include "confdefs.h"
int main() {
return __EMX__;
; return 0; }
EOF
-if { (eval echo configure:3965: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3934: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_emxos2=yes
else
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:3984: checking for executable suffix" >&5
+echo "configure:3953: checking for executable suffix" >&5
if eval "test \"\${ac_cv_exeext+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:3994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:3963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
*.c | *.C | *.o | *.obj | *.xcoff) ;;
ac_exeext=$EXEEXT
echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:4015: checking for object suffix" >&5
+echo "configure:3984: checking for object suffix" >&5
if eval "test \"\${ac_cv_objext+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:4021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3990: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
echo $ac_n "checking for be_app in -lbe""... $ac_c" 1>&6
-echo "configure:4045: checking for be_app in -lbe" >&5
+echo "configure:4014: checking for be_app in -lbe" >&5
ac_lib_var=`echo be'_'be_app | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lbe -lroot -lnet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4053 "configure"
+#line 4022 "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
be_app()
; return 0; }
EOF
-if { (eval echo configure:4064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4033: \"$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 $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:4090: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:4059: checking for ${CC-cc} option to accept ANSI C" >&5
if eval "test \"\${am_cv_prog_cc_stdc+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
do
CC="$ac_save_CC $ac_arg"
cat > conftest.$ac_ext <<EOF
-#line 4107 "configure"
+#line 4076 "configure"
#include "confdefs.h"
#include <stdarg.h>
#include <stdio.h>
; return 0; }
EOF
-if { (eval echo configure:4144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_prog_cc_stdc="$ac_arg"; break
else
OL_MKDEP="${CC-cc}"
if test -z "${MKDEP_FLAGS}"; then
echo $ac_n "checking for ${OL_MKDEP} depend flag""... $ac_c" 1>&6
-echo "configure:4178: checking for ${OL_MKDEP} depend flag" >&5
+echo "configure:4147: checking for ${OL_MKDEP} depend flag" >&5
if eval "test \"\${ol_cv_mkdep+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.c <<EOF
noCode;
EOF
- if { ac_try='$OL_MKDEP $flag conftest.c'; { (eval echo configure:4188: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } \
+ if { ac_try='$OL_MKDEP $flag conftest.c'; { (eval echo configure:4157: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } \
| egrep '^conftest\.'"${ac_objext}" >/dev/null 2>&1
then
if test ! -f conftest."${ac_object}" ; then
fi
echo $ac_n "checking for afopen in -ls""... $ac_c" 1>&6
-echo "configure:4221: checking for afopen in -ls" >&5
+echo "configure:4190: checking for afopen in -ls" >&5
ac_lib_var=`echo s'_'afopen | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ls $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4229 "configure"
+#line 4198 "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
afopen()
; return 0; }
EOF
-if { (eval echo configure:4240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4209: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4273: checking for $ac_hdr" >&5
+echo "configure:4242: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4278 "configure"
+#line 4247 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4283: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4252: \"$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*
fi
echo $ac_n "checking for lt_dlinit in -lltdl""... $ac_c" 1>&6
-echo "configure:4315: checking for lt_dlinit in -lltdl" >&5
+echo "configure:4284: checking for lt_dlinit in -lltdl" >&5
ac_lib_var=`echo ltdl'_'lt_dlinit | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lltdl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4323 "configure"
+#line 4292 "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
lt_dlinit()
; return 0; }
EOF
-if { (eval echo configure:4334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4303: \"$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
# test for EBCDIC
echo $ac_n "checking for EBCDIC""... $ac_c" 1>&6
-echo "configure:4379: checking for EBCDIC" >&5
+echo "configure:4348: checking for EBCDIC" >&5
if eval "test \"\${ol_cv_cpp_ebcdic+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4385 "configure"
+#line 4354 "configure"
#include "confdefs.h"
#if !('M' == 0xd4)
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4394: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4363: \"$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*
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:4418: checking for ANSI C header files" >&5
+echo "configure:4387: checking for ANSI C header files" >&5
if eval "test \"\${ol_cv_header_stdc+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4423 "configure"
+#line 4392 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4431: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4400: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ol_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 4448 "configure"
+#line 4417 "configure"
#include "confdefs.h"
#include <string.h>
EOF
if test $ol_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 4466 "configure"
+#line 4435 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
:
else
cat > conftest.$ac_ext <<EOF
-#line 4487 "configure"
+#line 4456 "configure"
#include "confdefs.h"
#include <ctype.h>
#ifndef HAVE_EBCDIC
exit (0); }
EOF
-if { (eval echo configure:4505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
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:4539: checking for $ac_hdr that defines DIR" >&5
+echo "configure:4508: checking for $ac_hdr that defines DIR" >&5
if eval "test \"\${ac_cv_header_dirent_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4544 "configure"
+#line 4513 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:4552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:4577: checking for opendir in -ldir" >&5
+echo "configure:4546: checking for opendir in -ldir" >&5
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4585 "configure"
+#line 4554 "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
opendir()
; return 0; }
EOF
-if { (eval echo configure:4596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4565: \"$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
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:4618: checking for opendir in -lx" >&5
+echo "configure:4587: checking for opendir in -lx" >&5
ac_lib_var=`echo x'_'opendir | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4626 "configure"
+#line 4595 "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
opendir()
; return 0; }
EOF
-if { (eval echo configure:4637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4606: \"$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
fi
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:4660: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:4629: checking for sys/wait.h that is POSIX.1 compatible" >&5
if eval "test \"\${ac_cv_header_sys_wait_h+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4665 "configure"
+#line 4634 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:4681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4650: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
fi
echo $ac_n "checking POSIX termios""... $ac_c" 1>&6
-echo "configure:4702: checking POSIX termios" >&5
+echo "configure:4671: checking POSIX termios" >&5
if eval "test \"\${am_cv_sys_posix_termios+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4707 "configure"
+#line 4676 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <unistd.h>
tcgetattr(0, 0);
; return 0; }
EOF
-if { (eval echo configure:4717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_sys_posix_termios=yes
else
echo $ac_n "checking whether use of TIOCGWINSZ requires sys/ioctl.h""... $ac_c" 1>&6
-echo "configure:4733: checking whether use of TIOCGWINSZ requires sys/ioctl.h" >&5
+echo "configure:4702: checking whether use of TIOCGWINSZ requires sys/ioctl.h" >&5
if eval "test \"\${am_cv_sys_tiocgwinsz_needs_sys_ioctl_h+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
gwinsz_in_termios_h=no
if test $am_cv_sys_posix_termios = yes; then
cat > conftest.$ac_ext <<EOF
-#line 4742 "configure"
+#line 4711 "configure"
#include "confdefs.h"
#include <sys/types.h>
# include <termios.h>
if test $gwinsz_in_termios_h = no; then
cat > conftest.$ac_ext <<EOF
-#line 4762 "configure"
+#line 4731 "configure"
#include "confdefs.h"
#include <sys/types.h>
# include <sys/ioctl.h>
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4845: checking for $ac_hdr" >&5
+echo "configure:4814: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4850 "configure"
+#line 4819 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4824: \"$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*
echo $ac_n "checking for sigset in -lV3""... $ac_c" 1>&6
-echo "configure:4885: checking for sigset in -lV3" >&5
+echo "configure:4854: checking for sigset in -lV3" >&5
ac_lib_var=`echo V3'_'sigset | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lV3 $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4893 "configure"
+#line 4862 "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
sigset()
; return 0; }
EOF
-if { (eval echo configure:4904: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ac_cv_header_winsock_h = yes; then
echo $ac_n "checking for winsock""... $ac_c" 1>&6
-echo "configure:4934: checking for winsock" >&5
+echo "configure:4903: checking for winsock" >&5
if eval "test \"\${ol_cv_winsock+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4939 "configure"
+#line 4908 "configure"
#include "confdefs.h"
#include <winsock.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:4951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_winsock=yes
else
echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:4979: checking for socket" >&5
+echo "configure:4948: checking for socket" >&5
if eval "test \"\${ac_cv_func_socket+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4984 "configure"
+#line 4953 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char socket(); below. */
; return 0; }
EOF
-if { (eval echo configure:5008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_socket=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6
-echo "configure:5027: checking for main in -lsocket" >&5
+echo "configure:4996: checking for main in -lsocket" >&5
ac_lib_var=`echo socket'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5035 "configure"
+#line 5004 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5011: \"$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
fi
echo $ac_n "checking for main in -lnet""... $ac_c" 1>&6
-echo "configure:5070: checking for main in -lnet" >&5
+echo "configure:5039: checking for main in -lnet" >&5
ac_lib_var=`echo net'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lnet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5078 "configure"
+#line 5047 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5054: \"$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
fi
echo $ac_n "checking for main in -lnsl_s""... $ac_c" 1>&6
-echo "configure:5113: checking for main in -lnsl_s" >&5
+echo "configure:5082: checking for main in -lnsl_s" >&5
ac_lib_var=`echo nsl_s'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lnsl_s $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5121 "configure"
+#line 5090 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5097: \"$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
fi
echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
-echo "configure:5156: checking for main in -lnsl" >&5
+echo "configure:5125: checking for main in -lnsl" >&5
ac_lib_var=`echo nsl'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5164 "configure"
+#line 5133 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5140: \"$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
fi
echo $ac_n "checking for socket in -linet""... $ac_c" 1>&6
-echo "configure:5199: checking for socket in -linet" >&5
+echo "configure:5168: checking for socket in -linet" >&5
ac_lib_var=`echo inet'_'socket | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-linet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5207 "configure"
+#line 5176 "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
socket()
; return 0; }
EOF
-if { (eval echo configure:5218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5187: \"$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
fi
echo $ac_n "checking for main in -lgen""... $ac_c" 1>&6
-echo "configure:5246: checking for main in -lgen" >&5
+echo "configure:5215: checking for main in -lgen" >&5
ac_lib_var=`echo gen'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lgen $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5254 "configure"
+#line 5223 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5230: \"$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 $ac_n "checking for select""... $ac_c" 1>&6
-echo "configure:5293: checking for select" >&5
+echo "configure:5262: checking for select" >&5
if eval "test \"\${ac_cv_func_select+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5298 "configure"
+#line 5267 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char select(); below. */
; return 0; }
EOF
-if { (eval echo configure:5322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_select=yes"
else
if test "${ac_cv_header_winsock_h}" != yes; then
echo $ac_n "checking types of arguments for select()""... $ac_c" 1>&6
-echo "configure:5345: checking types of arguments for select()" >&5
+echo "configure:5314: checking types of arguments for select()" >&5
if eval "test \"\${ac_cv_func_select_arg234+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_cv_func_select_arg1 in 'int' 'size_t' 'unsigned long' 'unsigned'; do
for ac_cv_func_select_arg5 in 'struct timeval *' 'const struct timeval *'; do
cat > conftest.$ac_ext <<EOF
-#line 5359 "configure"
+#line 5328 "configure"
#include "confdefs.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
; return 0; }
EOF
-if { (eval echo configure:5378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_not_found=no ; break 3
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5423: checking for $ac_hdr" >&5
+echo "configure:5392: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5428 "configure"
+#line 5397 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5433: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5402: \"$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*
{ echo "configure: error: POSIX regex.h required." 1>&2; exit 1; }
fi
echo $ac_n "checking for regfree""... $ac_c" 1>&6
-echo "configure:5463: checking for regfree" >&5
+echo "configure:5432: checking for regfree" >&5
if eval "test \"\${ac_cv_func_regfree+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5468 "configure"
+#line 5437 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char regfree(); below. */
; return 0; }
EOF
-if { (eval echo configure:5492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_regfree=yes"
else
echo $ac_n "checking for compatible POSIX regex""... $ac_c" 1>&6
-echo "configure:5515: checking for compatible POSIX regex" >&5
+echo "configure:5484: checking for compatible POSIX regex" >&5
if eval "test \"\${ol_cv_c_posix_regex+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ol_cv_c_posix_regex=cross
else
cat > conftest.$ac_ext <<EOF
-#line 5524 "configure"
+#line 5493 "configure"
#include "confdefs.h"
#include <sys/types.h>
return rc;
}
EOF
-if { (eval echo configure:5550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_c_posix_regex=yes
else
fi
echo $ac_n "checking for res_search""... $ac_c" 1>&6
-echo "configure:5571: checking for res_search" >&5
+echo "configure:5540: checking for res_search" >&5
if eval "test \"\${ac_cv_func_res_search+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5576 "configure"
+#line 5545 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char res_search(); below. */
; return 0; }
EOF
-if { (eval echo configure:5600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_res_search=yes"
else
if test $ac_cv_func_res_search = no ; then
echo $ac_n "checking for res_search in -lbind""... $ac_c" 1>&6
-echo "configure:5621: checking for res_search in -lbind" >&5
+echo "configure:5590: checking for res_search in -lbind" >&5
ac_lib_var=`echo bind'_'res_search | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lbind $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5629 "configure"
+#line 5598 "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
res_search()
; return 0; }
EOF
-if { (eval echo configure:5640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ac_cv_func_res_search = no ; then
echo $ac_n "checking for __res_search in -lbind""... $ac_c" 1>&6
-echo "configure:5672: checking for __res_search in -lbind" >&5
+echo "configure:5641: checking for __res_search in -lbind" >&5
ac_lib_var=`echo bind'_'__res_search | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lbind $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5680 "configure"
+#line 5649 "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
__res_search()
; return 0; }
EOF
-if { (eval echo configure:5691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ac_cv_func_res_search = no ; then
echo $ac_n "checking for res_search in -lresolv""... $ac_c" 1>&6
-echo "configure:5723: checking for res_search in -lresolv" >&5
+echo "configure:5692: checking for res_search in -lresolv" >&5
ac_lib_var=`echo resolv'_'res_search | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lresolv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5731 "configure"
+#line 5700 "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
res_search()
; return 0; }
EOF
-if { (eval echo configure:5742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5711: \"$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
fi
-ol_link_isode=no
-if test $ol_enable_ldapd != no ; then
- echo "configure: warning: ldapd is not supported and may suffer from bit rot." 1>&2
-
- echo $ac_n "checking for main in -lxtpp""... $ac_c" 1>&6
-echo "configure:5789: checking for main in -lxtpp" >&5
-ac_lib_var=`echo xtpp'_'main | sed 'y%./+-:%__p__%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lxtpp -lxtdsap -lxtisode -losi $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 5797 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:5804: \"$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
-
- ol_link_isode=yes
- cat >> confdefs.h <<\EOF
-#define HAVE_XTPP 1
-EOF
-
- LDAPD_LIBS="$LDAPD_LIBS -lxtpp -lxtdsap -lxtisode -losi"
-
-else
- echo "$ac_t""no" 1>&6
-:
-fi
-
- echo $ac_n "checking for main in -ldsap""... $ac_c" 1>&6
-echo "configure:5833: checking for main in -ldsap" >&5
-ac_lib_var=`echo dsap'_'main | sed 'y%./+-:%__p__%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-ldsap -lisode $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 5841 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:5848: \"$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
-
- ol_link_isode=yes
- cat >> confdefs.h <<\EOF
-#define HAVE_DSAP 1
-EOF
-
- LDAPD_LIBS="$LDAPD_LIBS -ldsap"
-
-else
- echo "$ac_t""no" 1>&6
-:
-fi
-
- echo $ac_n "checking for main in -lisode""... $ac_c" 1>&6
-echo "configure:5877: checking for main in -lisode" >&5
-ac_lib_var=`echo isode'_'main | sed 'y%./+-:%__p__%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lisode $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 5885 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:5892: \"$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
-
- ol_link_isode=yes
- cat >> confdefs.h <<\EOF
-#define HAVE_ISODE 1
-EOF
-
- LDAPD_LIBS="$LDAPD_LIBS -lisode"
-
-else
- echo "$ac_t""no" 1>&6
-:
-fi
-
-fi
-
-if test $ol_link_isode != no; then
- echo $ac_n "checking for main in -lpp""... $ac_c" 1>&6
-echo "configure:5924: checking for main in -lpp" >&5
-ac_lib_var=`echo pp'_'main | sed 'y%./+-:%__p__%'`
-if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lpp $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 5932 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:5939: \"$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_PP 1
-EOF
-
- LDAPD_LIBS="-lpp $LDAPD_LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-:
-fi
-
-
- # Extract the first word of "pepsy", so it can be a program name with args.
-set dummy pepsy; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5970: checking for $ac_word" >&5
-if eval "test \"\${ac_cv_path_PEPSY+set}\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$PEPSY" in
- /*)
- ac_cv_path_PEPSY="$PEPSY" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_PEPSY="$PEPSY" # 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_PEPSY="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-fi
-PEPSY="$ac_cv_path_PEPSY"
-if test -n "$PEPSY"; then
- echo "$ac_t""$PEPSY" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-fi
-
if test $ol_enable_quipu != no ; then
for ac_hdr in quipu/commonarg.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6009: checking for $ac_hdr" >&5
+echo "configure:5758: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6014 "configure"
+#line 5763 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6019: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5768: \"$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*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6067: checking for $ac_hdr" >&5
+echo "configure:5816: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6072 "configure"
+#line 5821 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6077: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5826: \"$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*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6109: checking for $ac_hdr" >&5
+echo "configure:5858: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6114 "configure"
+#line 5863 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6119: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5868: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $krb5_impl = mit; then
echo $ac_n "checking for main in -lkrb5""... $ac_c" 1>&6
-echo "configure:6153: checking for main in -lkrb5" >&5
+echo "configure:5902: checking for main in -lkrb5" >&5
ac_lib_var=`echo krb5'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lkrb5 -lcrypto -lcom_err $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6161 "configure"
+#line 5910 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:6168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+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_lib_$ac_lib_var=yes"
else
elif test $krb5_impl = heimdal; then
echo $ac_n "checking for main in -lkrb5""... $ac_c" 1>&6
-echo "configure:6193: checking for main in -lkrb5" >&5
+echo "configure:5942: checking for main in -lkrb5" >&5
ac_lib_var=`echo krb5'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lkrb5 -ldes -lasn1 -lroken -lcom_err $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6201 "configure"
+#line 5950 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:6208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5957: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6270: checking for $ac_hdr" >&5
+echo "configure:6019: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6275 "configure"
+#line 6024 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6029: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_kerberosIV_krb_h = yes ; then
if test $krb5_impl = mit; then
echo $ac_n "checking for main in -lkrb4""... $ac_c" 1>&6
-echo "configure:6310: checking for main in -lkrb4" >&5
+echo "configure:6059: checking for main in -lkrb4" >&5
ac_lib_var=`echo krb4'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lkrb4 -ldes425 -lkrb5 -lcrypto -lcom_err $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6318 "configure"
+#line 6067 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:6325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6074: \"$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
elif test $krb5_impl = heimdal; then
echo $ac_n "checking for main in -lkrb4""... $ac_c" 1>&6
-echo "configure:6350: checking for main in -lkrb4" >&5
+echo "configure:6099: checking for main in -lkrb4" >&5
ac_lib_var=`echo krb4'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lkrb4 -lkrb5 -ldes -lasn1 -lroken -lcom_err $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6358 "configure"
+#line 6107 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:6365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6114: \"$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 $ac_n "checking for des_debug in Kerberos libraries""... $ac_c" 1>&6
-echo "configure:6407: checking for des_debug in Kerberos libraries" >&5
+echo "configure:6156: checking for des_debug in Kerberos libraries" >&5
if eval "test \"\${ol_cv_var_des_debug+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
save_LIBS="$LIBS"
LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6415 "configure"
+#line 6164 "configure"
#include "confdefs.h"
#include <kerberosIV/krb.h>
; return 0; }
EOF
-if { (eval echo configure:6428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_var_des_debug=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6467: checking for $ac_hdr" >&5
+echo "configure:6216: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6472 "configure"
+#line 6221 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6477: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6226: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_krb_h = yes ; then
echo $ac_n "checking for main in -lkrb""... $ac_c" 1>&6
-echo "configure:6506: checking for main in -lkrb" >&5
+echo "configure:6255: checking for main in -lkrb" >&5
ac_lib_var=`echo krb'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lkrb -ldes $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6514 "configure"
+#line 6263 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:6521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6270: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6585: checking for $ac_hdr" >&5
+echo "configure:6334: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6590 "configure"
+#line 6339 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6595: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6344: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_openssl_ssl_h = yes -o $ac_cv_header_ssl_h = yes ; then
echo $ac_n "checking for SSLeay_add_ssl_algorithms in -lssl""... $ac_c" 1>&6
-echo "configure:6624: checking for SSLeay_add_ssl_algorithms in -lssl" >&5
+echo "configure:6373: checking for SSLeay_add_ssl_algorithms in -lssl" >&5
ac_lib_var=`echo ssl'_'SSLeay_add_ssl_algorithms | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lssl -lcrypto $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6632 "configure"
+#line 6381 "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
SSLeay_add_ssl_algorithms()
; return 0; }
EOF
-if { (eval echo configure:6643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6392: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $have_ssleay = no ; then
echo $ac_n "checking for SSL_library_init in -lssl""... $ac_c" 1>&6
-echo "configure:6668: checking for SSL_library_init in -lssl" >&5
+echo "configure:6417: checking for SSL_library_init in -lssl" >&5
ac_lib_var=`echo ssl'_'SSL_library_init | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lssl -lcrypto $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6676 "configure"
+#line 6425 "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
SSL_library_init()
; return 0; }
EOF
-if { (eval echo configure:6687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $have_ssleay = no ; then
echo $ac_n "checking for ssl3_accept in -lssl""... $ac_c" 1>&6
-echo "configure:6713: checking for ssl3_accept in -lssl" >&5
+echo "configure:6462: checking for ssl3_accept in -lssl" >&5
ac_lib_var=`echo ssl'_'ssl3_accept | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lssl -lcrypto -lRSAglue -lrsaref $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6721 "configure"
+#line 6470 "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
ssl3_accept()
; return 0; }
EOF
-if { (eval echo configure:6732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6481: \"$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
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6792: checking for $ac_func" >&5
+echo "configure:6541: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6797 "configure"
+#line 6546 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:6821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6570: \"$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
ol_cv_func_ctime_r_nargs=0
else
echo $ac_n "checking number of arguments of ctime_r""... $ac_c" 1>&6
-echo "configure:6850: checking number of arguments of ctime_r" >&5
+echo "configure:6599: checking number of arguments of ctime_r" >&5
if eval "test \"\${ol_cv_func_ctime_r_nargs+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6855 "configure"
+#line 6604 "configure"
#include "confdefs.h"
#include <time.h>
int main() {
time_t ti; char *buffer; ctime_r(&ti,buffer,32);
; return 0; }
EOF
-if { (eval echo configure:6862: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6611: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_func_ctime_r_nargs3=yes
else
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 6874 "configure"
+#line 6623 "configure"
#include "confdefs.h"
#include <time.h>
int main() {
time_t ti; char *buffer; ctime_r(&ti,buffer);
; return 0; }
EOF
-if { (eval echo configure:6881: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6630: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_func_ctime_r_nargs2=yes
else
if test "$ac_cv_func_gethostbyname_r" = yes ; then
echo $ac_n "checking number of arguments of gethostbyname_r""... $ac_c" 1>&6
-echo "configure:6921: checking number of arguments of gethostbyname_r" >&5
+echo "configure:6670: checking number of arguments of gethostbyname_r" >&5
if eval "test \"\${ol_cv_func_gethostbyname_r_nargs+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6926 "configure"
+#line 6675 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/socket.h>
buffer, bufsize, &h_errno);
; return 0; }
EOF
-if { (eval echo configure:6940: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6689: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_func_gethostbyname_r_nargs5=yes
else
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 6952 "configure"
+#line 6701 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/socket.h>
&rhent, &h_errno);
; return 0; }
EOF
-if { (eval echo configure:6967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6716: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_func_gethostbyname_r_nargs6=yes
else
if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
echo $ac_n "checking number of arguments of gethostbyaddr_r""... $ac_c" 1>&6
-echo "configure:7008: checking number of arguments of gethostbyaddr_r" >&5
+echo "configure:6757: checking number of arguments of gethostbyaddr_r" >&5
if eval "test \"\${ol_cv_func_gethostbyaddr_r_nargs+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7013 "configure"
+#line 6762 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/socket.h>
alen, AF_INET, &hent, buffer, bufsize, &h_errno);
; return 0; }
EOF
-if { (eval echo configure:7029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6778: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_func_gethostbyaddr_r_nargs7=yes
else
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 7041 "configure"
+#line 6790 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/socket.h>
&rhent, &h_errno);
; return 0; }
EOF
-if { (eval echo configure:7059: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6808: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_func_gethostbyaddr_r_nargs8=yes
else
echo $ac_n "checking for NT Threads""... $ac_c" 1>&6
-echo "configure:7122: checking for NT Threads" >&5
+echo "configure:6871: checking for NT Threads" >&5
if eval "test \"\${ol_cv_nt_threads+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for _beginthread""... $ac_c" 1>&6
-echo "configure:7128: checking for _beginthread" >&5
+echo "configure:6877: checking for _beginthread" >&5
if eval "test \"\${ac_cv_func__beginthread+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7133 "configure"
+#line 6882 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _beginthread(); below. */
; return 0; }
EOF
-if { (eval echo configure:7157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func__beginthread=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7217: checking for $ac_hdr" >&5
+echo "configure:6966: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7222 "configure"
+#line 6971 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7227: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6976: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_pthread_h = yes ; then
echo $ac_n "checking POSIX thread version""... $ac_c" 1>&6
-echo "configure:7256: checking POSIX thread version" >&5
+echo "configure:7005: checking POSIX thread version" >&5
if eval "test \"\${ol_cv_pthread_version+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7262 "configure"
+#line 7011 "configure"
#include "confdefs.h"
# include <pthread.h>
cat > conftest.$ac_ext <<EOF
-#line 7284 "configure"
+#line 7033 "configure"
#include "confdefs.h"
# include <pthread.h>
echo $ac_n "checking for LinuxThreads pthread.h""... $ac_c" 1>&6
-echo "configure:7337: checking for LinuxThreads pthread.h" >&5
+echo "configure:7086: checking for LinuxThreads pthread.h" >&5
if eval "test \"\${ol_cv_header_linux_threads+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7342 "configure"
+#line 7091 "configure"
#include "confdefs.h"
#include <pthread.h>
EOF
echo $ac_n "checking for GNU Pth pthread.h""... $ac_c" 1>&6
-echo "configure:7369: checking for GNU Pth pthread.h" >&5
+echo "configure:7118: checking for GNU Pth pthread.h" >&5
if eval "test \"\${ol_cv_header_gnu_pth_pthread_h+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7374 "configure"
+#line 7123 "configure"
#include "confdefs.h"
#include <pthread.h>
#ifdef _POSIX_THREAD_IS_GNU_PTH
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7403: checking for $ac_hdr" >&5
+echo "configure:7152: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7408 "configure"
+#line 7157 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7413: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7162: \"$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*
echo $ac_n "checking for pthread_create in default libraries""... $ac_c" 1>&6
-echo "configure:7443: checking for pthread_create in default libraries" >&5
+echo "configure:7192: checking for pthread_create in default libraries" >&5
if eval "test \"\${ol_cv_pthread_create+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 7450 "configure"
+#line 7199 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:7506: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_create=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 7518 "configure"
+#line 7267 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:7579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_create=yes
else
if test "$ol_link_threads" = no ; then
# try -kthread
echo $ac_n "checking for pthread link with -kthread""... $ac_c" 1>&6
-echo "configure:7604: checking for pthread link with -kthread" >&5
+echo "configure:7353: checking for pthread link with -kthread" >&5
if eval "test \"\${ol_cv_pthread_kthread+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 7615 "configure"
+#line 7364 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:7671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_kthread=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 7683 "configure"
+#line 7432 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:7744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_kthread=yes
else
if test "$ol_link_threads" = no ; then
# try -pthread
echo $ac_n "checking for pthread link with -pthread""... $ac_c" 1>&6
-echo "configure:7774: checking for pthread link with -pthread" >&5
+echo "configure:7523: checking for pthread link with -pthread" >&5
if eval "test \"\${ol_cv_pthread_pthread+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 7785 "configure"
+#line 7534 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:7841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_pthread=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 7853 "configure"
+#line 7602 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:7914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_pthread=yes
else
if test "$ol_link_threads" = no ; then
# try -pthreads
echo $ac_n "checking for pthread link with -pthreads""... $ac_c" 1>&6
-echo "configure:7944: checking for pthread link with -pthreads" >&5
+echo "configure:7693: checking for pthread link with -pthreads" >&5
if eval "test \"\${ol_cv_pthread_pthreads+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 7955 "configure"
+#line 7704 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:8011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_pthreads=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 8023 "configure"
+#line 7772 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:8084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_pthreads=yes
else
if test "$ol_link_threads" = no ; then
# try -mthreads
echo $ac_n "checking for pthread link with -mthreads""... $ac_c" 1>&6
-echo "configure:8114: checking for pthread link with -mthreads" >&5
+echo "configure:7863: checking for pthread link with -mthreads" >&5
if eval "test \"\${ol_cv_pthread_mthreads+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 8125 "configure"
+#line 7874 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:8181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_mthreads=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 8193 "configure"
+#line 7942 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:8254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_mthreads=yes
else
if test "$ol_link_threads" = no ; then
# try -thread
echo $ac_n "checking for pthread link with -thread""... $ac_c" 1>&6
-echo "configure:8284: checking for pthread link with -thread" >&5
+echo "configure:8033: checking for pthread link with -thread" >&5
if eval "test \"\${ol_cv_pthread_thread+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 8295 "configure"
+#line 8044 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:8351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_thread=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 8363 "configure"
+#line 8112 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:8424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_thread=yes
else
if test "$ol_link_threads" = no ; then
# try -lpthread -lmach -lexc -lc_r
echo $ac_n "checking for pthread link with -lpthread -lmach -lexc -lc_r""... $ac_c" 1>&6
-echo "configure:8455: checking for pthread link with -lpthread -lmach -lexc -lc_r" >&5
+echo "configure:8204: checking for pthread link with -lpthread -lmach -lexc -lc_r" >&5
if eval "test \"\${ol_cv_pthread_lpthread_lmach_lexc_lc_r+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 8466 "configure"
+#line 8215 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:8522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_lpthread_lmach_lexc_lc_r=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 8534 "configure"
+#line 8283 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:8595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_lpthread_lmach_lexc_lc_r=yes
else
if test "$ol_link_threads" = no ; then
# try -lpthread -lmach -lexc
echo $ac_n "checking for pthread link with -lpthread -lmach -lexc""... $ac_c" 1>&6
-echo "configure:8625: checking for pthread link with -lpthread -lmach -lexc" >&5
+echo "configure:8374: checking for pthread link with -lpthread -lmach -lexc" >&5
if eval "test \"\${ol_cv_pthread_lpthread_lmach_lexc+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 8636 "configure"
+#line 8385 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:8692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_lpthread_lmach_lexc=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 8704 "configure"
+#line 8453 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:8765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_lpthread_lmach_lexc=yes
else
if test "$ol_link_threads" = no ; then
# try -lpthread -Wl,-woff,85
echo $ac_n "checking for pthread link with -lpthread -Wl,-woff,85""... $ac_c" 1>&6
-echo "configure:8796: checking for pthread link with -lpthread -Wl,-woff,85" >&5
+echo "configure:8545: checking for pthread link with -lpthread -Wl,-woff,85" >&5
if eval "test \"\${ol_cv_pthread_lib_lpthread_woff+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 8807 "configure"
+#line 8556 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:8863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_lib_lpthread_woff=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 8875 "configure"
+#line 8624 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:8936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_lib_lpthread_woff=yes
else
if test "$ol_link_threads" = no ; then
# try -lpthread
echo $ac_n "checking for pthread link with -lpthread""... $ac_c" 1>&6
-echo "configure:8967: checking for pthread link with -lpthread" >&5
+echo "configure:8716: checking for pthread link with -lpthread" >&5
if eval "test \"\${ol_cv_pthread_lpthread+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 8978 "configure"
+#line 8727 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:9034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_lpthread=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 9046 "configure"
+#line 8795 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:9107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_lpthread=yes
else
if test "$ol_link_threads" = no ; then
# try -lc_r
echo $ac_n "checking for pthread link with -lc_r""... $ac_c" 1>&6
-echo "configure:9137: checking for pthread link with -lc_r" >&5
+echo "configure:8886: checking for pthread link with -lc_r" >&5
if eval "test \"\${ol_cv_pthread_lc_r+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 9148 "configure"
+#line 8897 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:9204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_lc_r=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 9216 "configure"
+#line 8965 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:9277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_lc_r=yes
else
if test "$ol_link_threads" = no ; then
# try -threads
echo $ac_n "checking for pthread link with -threads""... $ac_c" 1>&6
-echo "configure:9308: checking for pthread link with -threads" >&5
+echo "configure:9057: checking for pthread link with -threads" >&5
if eval "test \"\${ol_cv_pthread_threads+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 9319 "configure"
+#line 9068 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:9375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_threads=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 9387 "configure"
+#line 9136 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:9448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_threads=yes
else
if test "$ol_link_threads" = no ; then
# try -lpthreads -lmach -lexc -lc_r
echo $ac_n "checking for pthread link with -lpthreads -lmach -lexc -lc_r""... $ac_c" 1>&6
-echo "configure:9479: checking for pthread link with -lpthreads -lmach -lexc -lc_r" >&5
+echo "configure:9228: checking for pthread link with -lpthreads -lmach -lexc -lc_r" >&5
if eval "test \"\${ol_cv_pthread_lpthreads_lmach_lexc_lc_r+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 9490 "configure"
+#line 9239 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:9546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_lpthreads_lmach_lexc_lc_r=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 9558 "configure"
+#line 9307 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:9619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_lpthreads_lmach_lexc_lc_r=yes
else
if test "$ol_link_threads" = no ; then
# try -lpthreads -lmach -lexc
echo $ac_n "checking for pthread link with -lpthreads -lmach -lexc""... $ac_c" 1>&6
-echo "configure:9649: checking for pthread link with -lpthreads -lmach -lexc" >&5
+echo "configure:9398: checking for pthread link with -lpthreads -lmach -lexc" >&5
if eval "test \"\${ol_cv_pthread_lpthreads_lmach_lexc+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 9660 "configure"
+#line 9409 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:9716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_lpthreads_lmach_lexc=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 9728 "configure"
+#line 9477 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:9789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_lpthreads_lmach_lexc=yes
else
if test "$ol_link_threads" = no ; then
# try -lpthreads -lexc
echo $ac_n "checking for pthread link with -lpthreads -lexc""... $ac_c" 1>&6
-echo "configure:9819: checking for pthread link with -lpthreads -lexc" >&5
+echo "configure:9568: checking for pthread link with -lpthreads -lexc" >&5
if eval "test \"\${ol_cv_pthread_lpthreads_lexc+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 9830 "configure"
+#line 9579 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:9886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_lpthreads_lexc=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 9898 "configure"
+#line 9647 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:9959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_lpthreads_lexc=yes
else
if test "$ol_link_threads" = no ; then
# try -lpthreads
echo $ac_n "checking for pthread link with -lpthreads""... $ac_c" 1>&6
-echo "configure:9990: checking for pthread link with -lpthreads" >&5
+echo "configure:9739: checking for pthread link with -lpthreads" >&5
if eval "test \"\${ol_cv_pthread_lib_lpthreads+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 10001 "configure"
+#line 9750 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
; return 0; }
EOF
-if { (eval echo configure:10057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_pthread_lib_lpthreads=yes
else
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 10069 "configure"
+#line 9818 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:10130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_lib_lpthreads=yes
else
for ac_func in sched_yield pthread_yield
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10172: checking for $ac_func" >&5
+echo "configure:9921: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10177 "configure"
+#line 9926 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9950: \"$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
if test $ac_cv_func_sched_yield = no -a \
$ac_cv_func_pthread_yield = no ; then
echo $ac_n "checking for sched_yield in -lrt""... $ac_c" 1>&6
-echo "configure:10229: checking for sched_yield in -lrt" >&5
+echo "configure:9978: checking for sched_yield in -lrt" >&5
ac_lib_var=`echo rt'_'sched_yield | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lrt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 10237 "configure"
+#line 9986 "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
sched_yield()
; return 0; }
EOF
-if { (eval echo configure:10248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9997: \"$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
for ac_func in thr_yield
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10280: checking for $ac_func" >&5
+echo "configure:10029: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10285 "configure"
+#line 10034 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10058: \"$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
for ac_func in pthread_kill
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10343: checking for $ac_func" >&5
+echo "configure:10092: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10348 "configure"
+#line 10097 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10121: \"$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 $ac_n "checking for pthread_detach with <pthread.h>""... $ac_c" 1>&6
-echo "configure:10398: checking for pthread_detach with <pthread.h>" >&5
+echo "configure:10147: checking for pthread_detach with <pthread.h>" >&5
if eval "test \"\${ol_cv_func_pthread_detach+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10404 "configure"
+#line 10153 "configure"
#include "confdefs.h"
#include <pthread.h>
pthread_detach(NULL);
; return 0; }
EOF
-if { (eval echo configure:10416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_func_pthread_detach=yes
else
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10448: checking for $ac_func" >&5
+echo "configure:10197: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10453 "configure"
+#line 10202 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10226: \"$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 $ac_n "checking for pthread_kill_other_threads_np""... $ac_c" 1>&6
-echo "configure:10504: checking for pthread_kill_other_threads_np" >&5
+echo "configure:10253: checking for pthread_kill_other_threads_np" >&5
if eval "test \"\${ac_cv_func_pthread_kill_other_threads_np+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10509 "configure"
+#line 10258 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char pthread_kill_other_threads_np(); below. */
; return 0; }
EOF
-if { (eval echo configure:10533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_pthread_kill_other_threads_np=yes"
else
fi
echo $ac_n "checking for LinuxThreads implementation""... $ac_c" 1>&6
-echo "configure:10553: checking for LinuxThreads implementation" >&5
+echo "configure:10302: checking for LinuxThreads implementation" >&5
if eval "test \"\${ol_cv_sys_linux_threads+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for LinuxThreads consistency""... $ac_c" 1>&6
-echo "configure:10566: checking for LinuxThreads consistency" >&5
+echo "configure:10315: checking for LinuxThreads consistency" >&5
if eval "test \"\${ol_cv_linux_threads+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking if pthread_create() works""... $ac_c" 1>&6
-echo "configure:10591: checking if pthread_create() works" >&5
+echo "configure:10340: checking if pthread_create() works" >&5
if eval "test \"\${ol_cv_pthread_create_works+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ol_cv_pthread_create_works=yes
else
cat > conftest.$ac_ext <<EOF
-#line 10600 "configure"
+#line 10349 "configure"
#include "confdefs.h"
/* pthread test headers */
#include <pthread.h>
}
EOF
-if { (eval echo configure:10661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_create_works=yes
else
if test $ol_with_yielding_select = auto ; then
echo $ac_n "checking if select yields when using pthreads""... $ac_c" 1>&6
-echo "configure:10683: checking if select yields when using pthreads" >&5
+echo "configure:10432: checking if select yields when using pthreads" >&5
if eval "test \"\${ol_cv_pthread_select_yields+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ol_cv_pthread_select_yields=cross
else
cat > conftest.$ac_ext <<EOF
-#line 10692 "configure"
+#line 10441 "configure"
#include "confdefs.h"
#include <sys/types.h>
exit(2);
}
EOF
-if { (eval echo configure:10768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_pthread_select_yields=no
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10812: checking for $ac_hdr" >&5
+echo "configure:10561: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10817 "configure"
+#line 10566 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10822: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10571: \"$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*
ol_with_threads=found
echo $ac_n "checking for cthread_fork""... $ac_c" 1>&6
-echo "configure:10852: checking for cthread_fork" >&5
+echo "configure:10601: checking for cthread_fork" >&5
if eval "test \"\${ac_cv_func_cthread_fork+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10857 "configure"
+#line 10606 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char cthread_fork(); below. */
; return 0; }
EOF
-if { (eval echo configure:10881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_cthread_fork=yes"
else
if test $ol_link_threads = no ; then
echo $ac_n "checking for cthread_fork with -all_load""... $ac_c" 1>&6
-echo "configure:10903: checking for cthread_fork with -all_load" >&5
+echo "configure:10652: checking for cthread_fork with -all_load" >&5
if eval "test \"\${ol_cv_cthread_all_load+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
save_LIBS="$LIBS"
LIBS="-all_load $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 10911 "configure"
+#line 10660 "configure"
#include "confdefs.h"
#include <mach/cthreads.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:10920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_cthread_all_load=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10965: checking for $ac_hdr" >&5
+echo "configure:10714: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10970 "configure"
+#line 10719 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10975: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10724: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_pth_h = yes ; then
echo $ac_n "checking for pth_version in -lpth""... $ac_c" 1>&6
-echo "configure:11004: checking for pth_version in -lpth" >&5
+echo "configure:10753: checking for pth_version in -lpth" >&5
ac_lib_var=`echo pth'_'pth_version | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lpth $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11012 "configure"
+#line 10761 "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
pth_version()
; return 0; }
EOF
-if { (eval echo configure:11023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10772: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11067: checking for $ac_hdr" >&5
+echo "configure:10816: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11072 "configure"
+#line 10821 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11077: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
echo $ac_n "checking for thr_create in -lthread""... $ac_c" 1>&6
-echo "configure:11105: checking for thr_create in -lthread" >&5
+echo "configure:10854: checking for thr_create in -lthread" >&5
ac_lib_var=`echo thread'_'thr_create | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lthread $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11113 "configure"
+#line 10862 "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
thr_create()
; return 0; }
EOF
-if { (eval echo configure:11124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10873: \"$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
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11164: checking for $ac_func" >&5
+echo "configure:10913: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11169 "configure"
+#line 10918 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10942: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11224: checking for $ac_hdr" >&5
+echo "configure:10973: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11229 "configure"
+#line 10978 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11234: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10983: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_lwp_lwp_h = yes ; then
echo $ac_n "checking for lwp_create in -llwp""... $ac_c" 1>&6
-echo "configure:11262: checking for lwp_create in -llwp" >&5
+echo "configure:11011: checking for lwp_create in -llwp" >&5
ac_lib_var=`echo lwp'_'lwp_create | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-llwp $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11270 "configure"
+#line 11019 "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
lwp_create()
; return 0; }
EOF
-if { (eval echo configure:11281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11030: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11334: checking for $ac_hdr" >&5
+echo "configure:11083: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11339 "configure"
+#line 11088 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11344: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11093: \"$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*
for ac_func in sched_yield pthread_yield
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11373: checking for $ac_func" >&5
+echo "configure:11122: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11378 "configure"
+#line 11127 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11151: \"$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 $ac_n "checking for LinuxThreads pthread.h""... $ac_c" 1>&6
-echo "configure:11428: checking for LinuxThreads pthread.h" >&5
+echo "configure:11177: checking for LinuxThreads pthread.h" >&5
if eval "test \"\${ol_cv_header_linux_threads+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11433 "configure"
+#line 11182 "configure"
#include "confdefs.h"
#include <pthread.h>
EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11463: checking for $ac_hdr" >&5
+echo "configure:11212: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11468 "configure"
+#line 11217 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11473: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11222: \"$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*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11503: checking for $ac_hdr" >&5
+echo "configure:11252: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11508 "configure"
+#line 11257 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11513: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11262: \"$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*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11543: checking for $ac_hdr" >&5
+echo "configure:11292: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11548 "configure"
+#line 11297 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11553: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11302: \"$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*
echo $ac_n "checking for thread specific errno""... $ac_c" 1>&6
-echo "configure:11612: checking for thread specific errno" >&5
+echo "configure:11361: checking for thread specific errno" >&5
if eval "test \"\${ol_cv_errno_thread_specific+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11618 "configure"
+#line 11367 "configure"
#include "confdefs.h"
#include <errno.h>
int main() {
errno = 0;
; return 0; }
EOF
-if { (eval echo configure:11625: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_errno_thread_specific=yes
else
echo "$ac_t""$ol_cv_errno_thread_specific" 1>&6
echo $ac_n "checking for thread specific h_errno""... $ac_c" 1>&6
-echo "configure:11641: checking for thread specific h_errno" >&5
+echo "configure:11390: checking for thread specific h_errno" >&5
if eval "test \"\${ol_cv_h_errno_thread_specific+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11647 "configure"
+#line 11396 "configure"
#include "confdefs.h"
#include <netdb.h>
int main() {
h_errno = 0;
; return 0; }
EOF
-if { (eval echo configure:11654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_h_errno_thread_specific=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11713: checking for $ac_hdr" >&5
+echo "configure:11462: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11718 "configure"
+#line 11467 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11723: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_db_185_h = yes -o $ac_cv_header_db_h = yes; then
echo $ac_n "checking if Berkeley DB header compatibility""... $ac_c" 1>&6
-echo "configure:11751: checking if Berkeley DB header compatibility" >&5
+echo "configure:11500: checking if Berkeley DB header compatibility" >&5
if eval "test \"\${ol_cv_header_db1+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11757 "configure"
+#line 11506 "configure"
#include "confdefs.h"
#if HAVE_DB_185_H
ol_cv_lib_db=no
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (default)""... $ac_c" 1>&6
-echo "configure:11794: checking for Berkeley DB link (default)" >&5
+echo "configure:11543: checking for Berkeley DB link (default)" >&5
if eval "test \"\${ol_cv_db_none+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11804 "configure"
+#line 11553 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:11833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_none=yes
else
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (-ldb)""... $ac_c" 1>&6
-echo "configure:11857: checking for Berkeley DB link (-ldb)" >&5
+echo "configure:11606: checking for Berkeley DB link (-ldb)" >&5
if eval "test \"\${ol_cv_db_db+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11867 "configure"
+#line 11616 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:11896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_db=yes
else
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (-ldb3)""... $ac_c" 1>&6
-echo "configure:11920: checking for Berkeley DB link (-ldb3)" >&5
+echo "configure:11669: checking for Berkeley DB link (-ldb3)" >&5
if eval "test \"\${ol_cv_db_db3+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11930 "configure"
+#line 11679 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:11959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_db3=yes
else
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (-ldb2)""... $ac_c" 1>&6
-echo "configure:11983: checking for Berkeley DB link (-ldb2)" >&5
+echo "configure:11732: checking for Berkeley DB link (-ldb2)" >&5
if eval "test \"\${ol_cv_db_db2+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 11993 "configure"
+#line 11742 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:12022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_db2=yes
else
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (-ldb1)""... $ac_c" 1>&6
-echo "configure:12046: checking for Berkeley DB link (-ldb1)" >&5
+echo "configure:11795: checking for Berkeley DB link (-ldb1)" >&5
if eval "test \"\${ol_cv_db_db1+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12056 "configure"
+#line 11805 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:12085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_db1=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:12120: checking for $ac_hdr" >&5
+echo "configure:11869: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 12125 "configure"
+#line 11874 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11879: \"$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*
ol_cv_lib_db=no
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (default)""... $ac_c" 1>&6
-echo "configure:12160: checking for Berkeley DB link (default)" >&5
+echo "configure:11909: checking for Berkeley DB link (default)" >&5
if eval "test \"\${ol_cv_db_none+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12170 "configure"
+#line 11919 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:12199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_none=yes
else
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (-ldb)""... $ac_c" 1>&6
-echo "configure:12223: checking for Berkeley DB link (-ldb)" >&5
+echo "configure:11972: checking for Berkeley DB link (-ldb)" >&5
if eval "test \"\${ol_cv_db_db+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12233 "configure"
+#line 11982 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:12262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_db=yes
else
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (-ldb3)""... $ac_c" 1>&6
-echo "configure:12286: checking for Berkeley DB link (-ldb3)" >&5
+echo "configure:12035: checking for Berkeley DB link (-ldb3)" >&5
if eval "test \"\${ol_cv_db_db3+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12296 "configure"
+#line 12045 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:12325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_db3=yes
else
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (-ldb2)""... $ac_c" 1>&6
-echo "configure:12349: checking for Berkeley DB link (-ldb2)" >&5
+echo "configure:12098: checking for Berkeley DB link (-ldb2)" >&5
if eval "test \"\${ol_cv_db_db2+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12359 "configure"
+#line 12108 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:12388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_db2=yes
else
if test $ol_cv_lib_db = no ; then
echo $ac_n "checking for Berkeley DB link (-ldb1)""... $ac_c" 1>&6
-echo "configure:12412: checking for Berkeley DB link (-ldb1)" >&5
+echo "configure:12161: checking for Berkeley DB link (-ldb1)" >&5
if eval "test \"\${ol_cv_db_db1+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
LIBS="$ol_DB_LIB $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12422 "configure"
+#line 12171 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
; return 0; }
EOF
-if { (eval echo configure:12451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_db_db1=yes
else
if test "$ol_cv_lib_db" != no ; then
ol_cv_berkeley_db=yes
echo $ac_n "checking for Berkeley DB thread support""... $ac_c" 1>&6
-echo "configure:12477: checking for Berkeley DB thread support" >&5
+echo "configure:12226: checking for Berkeley DB thread support" >&5
if eval "test \"\${ol_cv_berkeley_db_thread+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ol_cv_berkeley_db_thread=cross
else
cat > conftest.$ac_ext <<EOF
-#line 12491 "configure"
+#line 12240 "configure"
#include "confdefs.h"
#ifdef HAVE_DB_185_H
return rc;
}
EOF
-if { (eval echo configure:12531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12280: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_berkeley_db_thread=yes
else
if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
echo $ac_n "checking for MDBM library""... $ac_c" 1>&6
-echo "configure:12595: checking for MDBM library" >&5
+echo "configure:12344: checking for MDBM library" >&5
if eval "test \"\${ol_cv_lib_mdbm+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ol_LIBS="$LIBS"
echo $ac_n "checking for mdbm_set_chain""... $ac_c" 1>&6
-echo "configure:12601: checking for mdbm_set_chain" >&5
+echo "configure:12350: checking for mdbm_set_chain" >&5
if eval "test \"\${ac_cv_func_mdbm_set_chain+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 12606 "configure"
+#line 12355 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char mdbm_set_chain(); below. */
; return 0; }
EOF
-if { (eval echo configure:12630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_mdbm_set_chain=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for mdbm_set_chain in -lmdbm""... $ac_c" 1>&6
-echo "configure:12649: checking for mdbm_set_chain in -lmdbm" >&5
+echo "configure:12398: checking for mdbm_set_chain in -lmdbm" >&5
ac_lib_var=`echo mdbm'_'mdbm_set_chain | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lmdbm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12657 "configure"
+#line 12406 "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
mdbm_set_chain()
; return 0; }
EOF
-if { (eval echo configure:12668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12417: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:12703: checking for $ac_hdr" >&5
+echo "configure:12452: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 12708 "configure"
+#line 12457 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12713: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12462: \"$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*
done
echo $ac_n "checking for db""... $ac_c" 1>&6
-echo "configure:12740: checking for db" >&5
+echo "configure:12489: checking for db" >&5
if eval "test \"\${ol_cv_mdbm+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
echo $ac_n "checking for GDBM library""... $ac_c" 1>&6
-echo "configure:12773: checking for GDBM library" >&5
+echo "configure:12522: checking for GDBM library" >&5
if eval "test \"\${ol_cv_lib_gdbm+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ol_LIBS="$LIBS"
echo $ac_n "checking for gdbm_open""... $ac_c" 1>&6
-echo "configure:12779: checking for gdbm_open" >&5
+echo "configure:12528: checking for gdbm_open" >&5
if eval "test \"\${ac_cv_func_gdbm_open+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 12784 "configure"
+#line 12533 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gdbm_open(); below. */
; return 0; }
EOF
-if { (eval echo configure:12808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gdbm_open=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for gdbm_open in -lgdbm""... $ac_c" 1>&6
-echo "configure:12827: checking for gdbm_open in -lgdbm" >&5
+echo "configure:12576: checking for gdbm_open in -lgdbm" >&5
ac_lib_var=`echo gdbm'_'gdbm_open | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lgdbm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 12835 "configure"
+#line 12584 "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
gdbm_open()
; return 0; }
EOF
-if { (eval echo configure:12846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12595: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:12881: checking for $ac_hdr" >&5
+echo "configure:12630: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 12886 "configure"
+#line 12635 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12891: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12640: \"$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*
done
echo $ac_n "checking for db""... $ac_c" 1>&6
-echo "configure:12918: checking for db" >&5
+echo "configure:12667: checking for db" >&5
if eval "test \"\${ol_cv_gdbm+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test $ol_with_ldbm_api = ndbm ; then
echo $ac_n "checking for NDBM library""... $ac_c" 1>&6
-echo "configure:12952: checking for NDBM library" >&5
+echo "configure:12701: checking for NDBM library" >&5
if eval "test \"\${ol_cv_lib_ndbm+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ol_LIBS="$LIBS"
echo $ac_n "checking for dbm_open""... $ac_c" 1>&6
-echo "configure:12958: checking for dbm_open" >&5
+echo "configure:12707: checking for dbm_open" >&5
if eval "test \"\${ac_cv_func_dbm_open+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 12963 "configure"
+#line 12712 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char dbm_open(); below. */
; return 0; }
EOF
-if { (eval echo configure:12987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_dbm_open=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dbm_open in -lndbm""... $ac_c" 1>&6
-echo "configure:13006: checking for dbm_open in -lndbm" >&5
+echo "configure:12755: checking for dbm_open in -lndbm" >&5
ac_lib_var=`echo ndbm'_'dbm_open | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lndbm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13014 "configure"
+#line 12763 "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
dbm_open()
; return 0; }
EOF
-if { (eval echo configure:13025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12774: \"$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 "$ac_t""no" 1>&6
echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6
-echo "configure:13045: checking for dbm_open in -ldbm" >&5
+echo "configure:12794: checking for dbm_open in -ldbm" >&5
ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldbm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13053 "configure"
+#line 12802 "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
dbm_open()
; return 0; }
EOF
-if { (eval echo configure:13064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12813: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13101: checking for $ac_hdr" >&5
+echo "configure:12850: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 13106 "configure"
+#line 12855 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13111: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12860: \"$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*
done
echo $ac_n "checking for db""... $ac_c" 1>&6
-echo "configure:13138: checking for db" >&5
+echo "configure:12887: checking for db" >&5
if eval "test \"\${ol_cv_ndbm+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13200: checking for $ac_hdr" >&5
+echo "configure:12949: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 13205 "configure"
+#line 12954 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13210: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12959: \"$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*
have_wrappers=no
else
cat > conftest.$ac_ext <<EOF
-#line 13241 "configure"
+#line 12990 "configure"
#include "confdefs.h"
int allow_severity = 0;
hosts_access()
; return 0; }
EOF
-if { (eval echo configure:13251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13000: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_wrappers=yes
else
WRAP_LIBS="-lwrap"
echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
-echo "configure:13271: checking for main in -lnsl" >&5
+echo "configure:13020: checking for main in -lnsl" >&5
ac_lib_var=`echo nsl'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13279 "configure"
+#line 13028 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:13286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ol_enable_syslog != no ; then
echo $ac_n "checking for openlog""... $ac_c" 1>&6
-echo "configure:13327: checking for openlog" >&5
+echo "configure:13076: checking for openlog" >&5
if eval "test \"\${ac_cv_func_openlog+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 13332 "configure"
+#line 13081 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char openlog(); below. */
; return 0; }
EOF
-if { (eval echo configure:13356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_openlog=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13386: checking for $ac_hdr" >&5
+echo "configure:13135: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 13391 "configure"
+#line 13140 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13145: \"$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*
else
for lib in tcl tcl7.6 tcl8.0 tcl8.2 ; do
echo $ac_n "checking for main in -l$lib""... $ac_c" 1>&6
-echo "configure:13428: checking for main in -l$lib" >&5
+echo "configure:13177: checking for main in -l$lib" >&5
ac_lib_var=`echo $lib'_'main | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-l$lib $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13436 "configure"
+#line 13185 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:13443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13192: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13487: checking for $ac_hdr" >&5
+echo "configure:13236: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 13492 "configure"
+#line 13241 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13246: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ol_link_termcap = no ; then
echo $ac_n "checking for tputs in -ltermcap""... $ac_c" 1>&6
-echo "configure:13526: checking for tputs in -ltermcap" >&5
+echo "configure:13275: checking for tputs in -ltermcap" >&5
ac_lib_var=`echo termcap'_'tputs | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ltermcap $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13534 "configure"
+#line 13283 "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
tputs()
; return 0; }
EOF
-if { (eval echo configure:13545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ol_link_termcap = no ; then
echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6
-echo "configure:13578: checking for initscr in -lncurses" >&5
+echo "configure:13327: checking for initscr in -lncurses" >&5
ac_lib_var=`echo ncurses'_'initscr | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lncurses $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13586 "configure"
+#line 13335 "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
initscr()
; return 0; }
EOF
-if { (eval echo configure:13597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ol_with_cyrus_sasl != no ; then
ac_safe=`echo "sasl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sasl.h""... $ac_c" 1>&6
-echo "configure:13641: checking for sasl.h" >&5
+echo "configure:13390: checking for sasl.h" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 13646 "configure"
+#line 13395 "configure"
#include "confdefs.h"
#include <sasl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13651: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13400: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_sasl_h = yes ; then
echo $ac_n "checking for sasl_client_init in -lsasl""... $ac_c" 1>&6
-echo "configure:13675: checking for sasl_client_init in -lsasl" >&5
+echo "configure:13424: checking for sasl_client_init in -lsasl" >&5
ac_lib_var=`echo sasl'_'sasl_client_init | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lsasl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13683 "configure"
+#line 13432 "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
sasl_client_init()
; return 0; }
EOF
-if { (eval echo configure:13694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13443: \"$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
ol_LIBS=$LIBS
LIBS="-lfetch -lcom_err $LIBS"
echo $ac_n "checking fetch(3) library""... $ac_c" 1>&6
-echo "configure:13758: checking fetch(3) library" >&5
+echo "configure:13507: checking fetch(3) library" >&5
if eval "test \"\${ol_cv_lib_fetch+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 13764 "configure"
+#line 13513 "configure"
#include "confdefs.h"
#include <sys/param.h>
struct url *u = fetchParseURL("file:///");
; return 0; }
EOF
-if { (eval echo configure:13774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_lib_fetch=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13812: checking for $ac_hdr" >&5
+echo "configure:13561: checking for $ac_hdr" >&5
if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 13817 "configure"
+#line 13566 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13822: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13571: \"$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*
save_LIBS="$LIBS"
LIBS="$TERMCAP_LIBS $LIBS"
echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6
-echo "configure:13853: checking for readline in -lreadline" >&5
+echo "configure:13602: checking for readline in -lreadline" >&5
ac_lib_var=`echo readline'_'readline | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lreadline $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13861 "configure"
+#line 13610 "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
readline()
; return 0; }
EOF
-if { (eval echo configure:13872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ol_enable_crypt != no ; then
echo $ac_n "checking for crypt""... $ac_c" 1>&6
-echo "configure:13914: checking for crypt" >&5
+echo "configure:13663: checking for crypt" >&5
if eval "test \"\${ac_cv_func_crypt+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 13919 "configure"
+#line 13668 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char crypt(); below. */
; return 0; }
EOF
-if { (eval echo configure:13943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_crypt=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:13962: checking for crypt in -lcrypt" >&5
+echo "configure:13711: checking for crypt in -lcrypt" >&5
ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lcrypt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13970 "configure"
+#line 13719 "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
crypt()
; return 0; }
EOF
-if { (eval echo configure:13981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ol_enable_proctitle != no ; then
echo $ac_n "checking for setproctitle""... $ac_c" 1>&6
-echo "configure:14024: checking for setproctitle" >&5
+echo "configure:13773: checking for setproctitle" >&5
if eval "test \"\${ac_cv_func_setproctitle+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14029 "configure"
+#line 13778 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setproctitle(); below. */
; return 0; }
EOF
-if { (eval echo configure:14053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setproctitle=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for setproctitle in -lutil""... $ac_c" 1>&6
-echo "configure:14072: checking for setproctitle in -lutil" >&5
+echo "configure:13821: checking for setproctitle in -lutil" >&5
ac_lib_var=`echo util'_'setproctitle | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lutil $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 14080 "configure"
+#line 13829 "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
setproctitle()
; return 0; }
EOF
-if { (eval echo configure:14091: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13840: \"$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
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:14127: checking for ANSI C header files" >&5
+echo "configure:13876: checking for ANSI C header files" >&5
if eval "test \"\${ac_cv_header_stdc+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14132 "configure"
+#line 13881 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14140: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13889: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 14157 "configure"
+#line 13906 "configure"
#include "confdefs.h"
#include <string.h>
EOF
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 14175 "configure"
+#line 13924 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
:
else
cat > conftest.$ac_ext <<EOF
-#line 14196 "configure"
+#line 13945 "configure"
#include "confdefs.h"
#include <ctype.h>
#if ((' ' & 0x0FF) == 0x020)
exit (0); }
EOF
-if { (eval echo configure:14214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:13963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
fi
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:14238: checking for mode_t" >&5
+echo "configure:13987: checking for mode_t" >&5
if eval "test \"\${ac_cv_type_mode_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14243 "configure"
+#line 13992 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:14274: checking for off_t" >&5
+echo "configure:14023: checking for off_t" >&5
if eval "test \"\${ac_cv_type_off_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14279 "configure"
+#line 14028 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:14310: checking for pid_t" >&5
+echo "configure:14059: checking for pid_t" >&5
if eval "test \"\${ac_cv_type_pid_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14315 "configure"
+#line 14064 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for ptrdiff_t""... $ac_c" 1>&6
-echo "configure:14346: checking for ptrdiff_t" >&5
+echo "configure:14095: checking for ptrdiff_t" >&5
if eval "test \"\${am_cv_type_ptrdiff_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14351 "configure"
+#line 14100 "configure"
#include "confdefs.h"
#include <stddef.h>
int main() {
ptrdiff_t p
; return 0; }
EOF
-if { (eval echo configure:14358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14107: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_type_ptrdiff_t=yes
else
fi
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:14379: checking return type of signal handlers" >&5
+echo "configure:14128: checking return type of signal handlers" >&5
if eval "test \"\${ac_cv_type_signal+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14384 "configure"
+#line 14133 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
int i;
; return 0; }
EOF
-if { (eval echo configure:14401: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14150: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:14420: checking for size_t" >&5
+echo "configure:14169: checking for size_t" >&5
if eval "test \"\${ac_cv_type_size_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14425 "configure"
+#line 14174 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:14457: checking for ssize_t" >&5
+echo "configure:14206: checking for ssize_t" >&5
if eval "test \"\${ac_cv_type_ssize_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14462 "configure"
+#line 14211 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for caddr_t""... $ac_c" 1>&6
-echo "configure:14493: checking for caddr_t" >&5
+echo "configure:14242: checking for caddr_t" >&5
if eval "test \"\${ac_cv_type_caddr_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14498 "configure"
+#line 14247 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
echo $ac_n "checking for socklen_t""... $ac_c" 1>&6
-echo "configure:14530: checking for socklen_t" >&5
+echo "configure:14279: checking for socklen_t" >&5
if eval "test \"\${ol_cv_type_socklen_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14535 "configure"
+#line 14284 "configure"
#include "confdefs.h"
#ifdef HAVE_SYS_TYPES_H
socklen_t len;
; return 0; }
EOF
-if { (eval echo configure:14549: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14298: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_type_socklen_t=yes
else
fi
echo $ac_n "checking for member st_blksize in aggregate type struct stat""... $ac_c" 1>&6
-echo "configure:14570: checking for member st_blksize in aggregate type struct stat" >&5
+echo "configure:14319: checking for member st_blksize in aggregate type struct stat" >&5
if eval "test \"\${ac_cv_c_struct_member_st_blksize+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14575 "configure"
+#line 14324 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
struct stat foo; foo.st_blksize;
; return 0; }
EOF
-if { (eval echo configure:14583: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14332: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_struct_member_st_blksize=yes
else
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:14605: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:14354: checking whether time.h and sys/time.h may both be included" >&5
if eval "test \"\${ac_cv_header_time+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14610 "configure"
+#line 14359 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:14619: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14368: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
fi
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:14640: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:14389: checking whether struct tm is in sys/time.h or time.h" >&5
if eval "test \"\${ac_cv_struct_tm+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14645 "configure"
+#line 14394 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:14653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14402: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
fi
echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:14674: checking for uid_t in sys/types.h" >&5
+echo "configure:14423: checking for uid_t in sys/types.h" >&5
if eval "test \"\${ac_cv_type_uid_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14679 "configure"
+#line 14428 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
fi
echo $ac_n "checking for sig_atomic_t""... $ac_c" 1>&6
-echo "configure:14708: checking for sig_atomic_t" >&5
+echo "configure:14457: checking for sig_atomic_t" >&5
if eval "test \"\${ol_cv_type_sig_atomic_t+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14713 "configure"
+#line 14462 "configure"
#include "confdefs.h"
#include <signal.h>
int main() {
sig_atomic_t atomic;
; return 0; }
EOF
-if { (eval echo configure:14720: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14469: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_type_sig_atomic_t=yes
else
# test for pw_gecos in struct passwd
echo $ac_n "checking struct passwd for pw_gecos""... $ac_c" 1>&6
-echo "configure:14744: checking struct passwd for pw_gecos" >&5
+echo "configure:14493: checking struct passwd for pw_gecos" >&5
if eval "test \"\${ol_cv_struct_passwd_pw_gecos+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14750 "configure"
+#line 14499 "configure"
#include "confdefs.h"
#include <pwd.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:14760: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14509: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_struct_passwd_pw_gecos=yes
else
# test for pw_passwd in struct passwd
echo $ac_n "checking struct passwd for pw_passwd""... $ac_c" 1>&6
-echo "configure:14782: checking struct passwd for pw_passwd" >&5
+echo "configure:14531: checking struct passwd for pw_passwd" >&5
if eval "test \"\${ol_cv_struct_passwd_pw_passwd+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14788 "configure"
+#line 14537 "configure"
#include "confdefs.h"
#include <pwd.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:14798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14547: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_struct_passwd_pw_passwd=yes
else
echo $ac_n "checking if toupper() requires islower()""... $ac_c" 1>&6
-echo "configure:14820: checking if toupper() requires islower()" >&5
+echo "configure:14569: checking if toupper() requires islower()" >&5
if eval "test \"\${ol_cv_c_upper_lower+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ol_cv_c_upper_lower=safe
else
cat > conftest.$ac_ext <<EOF
-#line 14829 "configure"
+#line 14578 "configure"
#include "confdefs.h"
#include <ctype.h>
exit(1);
}
EOF
-if { (eval echo configure:14841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:14590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ol_cv_c_upper_lower=no
else
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:14864: checking for working const" >&5
+echo "configure:14613: checking for working const" >&5
if eval "test \"\${ac_cv_c_const+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14869 "configure"
+#line 14618 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:14918: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14667: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
fi
echo $ac_n "checking if compiler understands volatile""... $ac_c" 1>&6
-echo "configure:14939: checking if compiler understands volatile" >&5
+echo "configure:14688: checking if compiler understands volatile" >&5
if eval "test \"\${ol_cv_c_volatile+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 14944 "configure"
+#line 14693 "configure"
#include "confdefs.h"
int x, y, z;
int main() {
*b = 0;
; return 0; }
EOF
-if { (eval echo configure:14953: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14702: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_c_volatile=yes
else
else
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:14983: checking whether byte ordering is bigendian" >&5
+echo "configure:14732: checking whether byte ordering is bigendian" >&5
if eval "test \"\${ac_cv_c_bigendian+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
cat > conftest.$ac_ext <<EOF
-#line 14990 "configure"
+#line 14739 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:15001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# It does; now see whether it defined to BIG_ENDIAN or not.
cat > conftest.$ac_ext <<EOF
-#line 15005 "configure"
+#line 14754 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:15016: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14765: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_bigendian=yes
else
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 15036 "configure"
+#line 14785 "configure"
#include "confdefs.h"
main () {
/* Are we little or big endian? From Harbison&Steele. */
exit (u.c[sizeof (long) - 1] == 1);
}
EOF
-if { (eval echo configure:15049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:14798: \"$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
fi
echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:15075: checking size of short" >&5
+echo "configure:14824: checking size of short" >&5
if eval "test \"\${ac_cv_sizeof_short+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 15081 "configure"
+#line 14830 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
switch (0) case 0: case (sizeof (short) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:15091: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_short=$ac_size
else
echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:15114: checking size of int" >&5
+echo "configure:14863: checking size of int" >&5
if eval "test \"\${ac_cv_sizeof_int+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 15120 "configure"
+#line 14869 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
switch (0) case 0: case (sizeof (int) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:15130: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14879: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_int=$ac_size
else
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:15153: checking size of long" >&5
+echo "configure:14902: checking size of long" >&5
if eval "test \"\${ac_cv_sizeof_long+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 15159 "configure"
+#line 14908 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
switch (0) case 0: case (sizeof (long) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:15169: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14918: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long=$ac_size
else
echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:15220: checking for 8-bit clean memcmp" >&5
+echo "configure:14969: checking for 8-bit clean memcmp" >&5
if eval "test \"\${ac_cv_func_memcmp_clean+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_func_memcmp_clean=no
else
cat > conftest.$ac_ext <<EOF
-#line 15228 "configure"
+#line 14977 "configure"
#include "confdefs.h"
main()
}
EOF
-if { (eval echo configure:15238: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:14987: \"$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
test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
echo $ac_n "checking for strftime""... $ac_c" 1>&6
-echo "configure:15256: checking for strftime" >&5
+echo "configure:15005: checking for strftime" >&5
if eval "test \"\${ac_cv_func_strftime+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15261 "configure"
+#line 15010 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strftime(); below. */
; return 0; }
EOF
-if { (eval echo configure:15285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_strftime=yes"
else
echo "$ac_t""no" 1>&6
# strftime is in -lintl on SCO UNIX.
echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6
-echo "configure:15307: checking for strftime in -lintl" >&5
+echo "configure:15056: checking for strftime in -lintl" >&5
ac_lib_var=`echo intl'_'strftime | sed 'y%./+-:%__p__%'`
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 15315 "configure"
+#line 15064 "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
strftime()
; return 0; }
EOF
-if { (eval echo configure:15326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15075: \"$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 $ac_n "checking for inet_aton()""... $ac_c" 1>&6
-echo "configure:15354: checking for inet_aton()" >&5
+echo "configure:15103: checking for inet_aton()" >&5
if eval "test \"\${ol_cv_func_inet_aton+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15359 "configure"
+#line 15108 "configure"
#include "confdefs.h"
#ifdef HAVE_SYS_TYPES_H
int rc = inet_aton( "255.255.255.255", &in );
; return 0; }
EOF
-if { (eval echo configure:15381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_func_inet_aton=yes
else
echo $ac_n "checking for _spawnlp""... $ac_c" 1>&6
-echo "configure:15403: checking for _spawnlp" >&5
+echo "configure:15152: checking for _spawnlp" >&5
if eval "test \"\${ac_cv_func__spawnlp+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15408 "configure"
+#line 15157 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _spawnlp(); below. */
; return 0; }
EOF
-if { (eval echo configure:15432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func__spawnlp=yes"
else
echo $ac_n "checking for _snprintf""... $ac_c" 1>&6
-echo "configure:15456: checking for _snprintf" >&5
+echo "configure:15205: checking for _snprintf" >&5
if eval "test \"\${ac_cv_func__snprintf+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15461 "configure"
+#line 15210 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _snprintf(); below. */
; return 0; }
EOF
-if { (eval echo configure:15485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func__snprintf=yes"
else
echo $ac_n "checking for _vsnprintf""... $ac_c" 1>&6
-echo "configure:15511: checking for _vsnprintf" >&5
+echo "configure:15260: checking for _vsnprintf" >&5
if eval "test \"\${ac_cv_func__vsnprintf+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15516 "configure"
+#line 15265 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _vsnprintf(); below. */
; return 0; }
EOF
-if { (eval echo configure:15540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func__vsnprintf=yes"
else
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:15566: checking for vprintf" >&5
+echo "configure:15315: checking for vprintf" >&5
if eval "test \"\${ac_cv_func_vprintf+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15571 "configure"
+#line 15320 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
; return 0; }
EOF
-if { (eval echo configure:15595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vprintf=yes"
else
if test "$ac_cv_func_vprintf" != yes; then
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:15619: checking for _doprnt" >&5
+echo "configure:15368: checking for _doprnt" >&5
if eval "test \"\${ac_cv_func__doprnt+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15624 "configure"
+#line 15373 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
; return 0; }
EOF
-if { (eval echo configure:15648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func__doprnt=yes"
else
for ac_func in vsnprintf vsprintf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15677: checking for $ac_func" >&5
+echo "configure:15426: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15682 "configure"
+#line 15431 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:15706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15455: \"$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
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15785: checking for $ac_func" >&5
+echo "configure:15534: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15790 "configure"
+#line 15539 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:15814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15563: \"$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
for ac_func in getopt tempnam
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15842: checking for $ac_func" >&5
+echo "configure:15591: checking for $ac_func" >&5
if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15847 "configure"
+#line 15596 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:15871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15620: \"$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
# Check Configuration
echo $ac_n "checking declaration of sys_errlist""... $ac_c" 1>&6
-echo "configure:15908: checking declaration of sys_errlist" >&5
+echo "configure:15657: checking declaration of sys_errlist" >&5
if eval "test \"\${ol_cv_dcl_sys_errlist+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15914 "configure"
+#line 15663 "configure"
#include "confdefs.h"
#include <stdio.h>
char *c = (char *) *sys_errlist
; return 0; }
EOF
-if { (eval echo configure:15927: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15676: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_dcl_sys_errlist=yes
ol_cv_have_sys_errlist=yes
echo $ac_n "checking existence of sys_errlist""... $ac_c" 1>&6
-echo "configure:15950: checking existence of sys_errlist" >&5
+echo "configure:15699: checking existence of sys_errlist" >&5
if eval "test \"\${ol_cv_have_sys_errlist+set}\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 15956 "configure"
+#line 15705 "configure"
#include "confdefs.h"
#include <errno.h>
int main() {
char *c = (char *) *sys_errlist
; return 0; }
EOF
-if { (eval echo configure:15963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ol_cv_have_sys_errlist=yes
else
BUILD_SLURPD=yes
fi
-if test "$ol_link_isode" != no ; then
- BUILD_LDAPD=yes
-fi
-
if test "$LINK_BINS_DYNAMIC" = yes; then
LIB_LINKAGE=DYN
-
libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
-servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/mod.mk \
servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
s%@OBJEXT@%$OBJEXT%g
s%@OL_MKDEP@%$OL_MKDEP%g
s%@OL_MKDEP_FLAGS@%$OL_MKDEP_FLAGS%g
-s%@PEPSY@%$PEPSY%g
s%@LIBOBJS@%$LIBOBJS%g
s%@LIBSRCS@%$LIBSRCS%g
s%@PLAT@%$PLAT%g
s%@LIB_LINKAGE@%$LIB_LINKAGE%g
s%@LT_LIB_LINKAGE@%$LT_LIB_LINKAGE%g
s%@DYN_EXT@%$DYN_EXT%g
-s%@BUILD_LDAPD@%$BUILD_LDAPD%g
s%@BUILD_SLAPD@%$BUILD_SLAPD%g
s%@BUILD_BDB2@%$BUILD_BDB2%g
s%@BUILD_DNSSRV@%$BUILD_DNSSRV%g
s%@BUILD_TCL_DYNAMIC@%$BUILD_TCL_DYNAMIC%g
s%@BUILD_SLURPD@%$BUILD_SLURPD%g
s%@LDAP_LIBS@%$LDAP_LIBS%g
-s%@LDAPD_LIBS@%$LDAPD_LIBS%g
s%@LDIF_LIBS@%$LDIF_LIBS%g
s%@SLAPD_LIBS@%$SLAPD_LIBS%g
+s%@QUIPU_LIBS@%$QUIPU_LIBS%g
s%@SLURPD_LIBS@%$SLURPD_LIBS%g
s%@LDBM_LIBS@%$LDBM_LIBS%g
s%@LTHREAD_LIBS@%$LTHREAD_LIBS%g
libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
-servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/mod.mk \
servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
dnl ----------------------------------------------------------------
dnl Server options
dnl ----------------------------------------------------------------
-dnl LDAPD OPTIONS
-AC_ARG_WITH(xxldapdoptions,[LDAPD (X.500-to-LDAP Gateway) Options:])
-OL_ARG_ENABLE(ldapd,[ --enable-ldapd enable building ldapd], no)dnl
dnl ----------------------------------------------------------------
dnl SLAPD OPTIONS
LTHREAD_LIBS=
LUTIL_LIBS=
-LDAPD_LIBS=
+QUIPU_LIBS=
SLAPD_LIBS=
SLURPD_LIBS=
-BUILD_LDAPD=no
BUILD_SLAPD=no
BUILD_SLURPD=no
fi
-dnl ----------------------------------------------------------------
-dnl ISODE tests
-ol_link_isode=no
-if test $ol_enable_ldapd != no ; then
- AC_MSG_WARN([ldapd is not supported and may suffer from bit rot.])
-
- dnl look for ISODE libraries
- AC_CHECK_LIB(xtpp, main, [
- ol_link_isode=yes
- AC_DEFINE(HAVE_XTPP,1, [define if you have -lxttp])
- LDAPD_LIBS="$LDAPD_LIBS -lxtpp -lxtdsap -lxtisode -losi"
- ],:,[-lxtdsap -lxtisode -losi])
- AC_CHECK_LIB(dsap, main, [
- ol_link_isode=yes
- AC_DEFINE(HAVE_DSAP,1, [define if you have -ldsap])
- LDAPD_LIBS="$LDAPD_LIBS -ldsap"
- ],:,[-lisode])
- AC_CHECK_LIB(isode, main, [
- ol_link_isode=yes
- AC_DEFINE(HAVE_ISODE,1, [define if you have -lisode])
- LDAPD_LIBS="$LDAPD_LIBS -lisode"
- ],:)
-fi
-
-if test $ol_link_isode != no; then
- AC_CHECK_LIB(pp, main, [
- AC_DEFINE(HAVE_PP,1, [define if you have -lpp])
- LDAPD_LIBS="-lpp $LDAPD_LIBS"
- ],:)
-
- AC_PATH_PROG(PEPSY, pepsy)
-fi
-
dnl ----------------------------------------------------------------
dnl QUIPU
if test $ol_enable_quipu != no ; then
BUILD_SLURPD=yes
fi
-if test "$ol_link_isode" != no ; then
- BUILD_LDAPD=yes
-fi
-
dnl ----------------------------------------------------------------
if test "$LINK_BINS_DYNAMIC" = yes; then
AC_SUBST(LT_LIB_LINKAGE)
AC_SUBST(DYN_EXT)
-AC_SUBST(BUILD_LDAPD)
AC_SUBST(BUILD_SLAPD)
AC_SUBST(BUILD_BDB2)
AC_SUBST(BUILD_DNSSRV)
AC_SUBST(BUILD_SLURPD)
AC_SUBST(LDAP_LIBS)
-AC_SUBST(LDAPD_LIBS)
AC_SUBST(LDIF_LIBS)
AC_SUBST(SLAPD_LIBS)
+AC_SUBST(QUIPU_LIBS)
AC_SUBST(SLURPD_LIBS)
AC_SUBST(LDBM_LIBS)
AC_SUBST(LTHREAD_LIBS)
libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
-servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/mod.mk \
servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
+++ /dev/null
-.TH LDAPD 8C "19 September 1999" "OpenLDAP LDVERSION"
-.\" $OpenLDAP$
-.\" Copyright 1998-2000 The OpenLDAP Foundation All Rights Reserved.
-.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
-.SH NAME
-ldapd \- LDAP X.500 Protocol Daemon
-.SH SYNOPSIS
-.B LIBEXECDIR/ldapd [\-d level] [\-l] [\-c dsaname]
-.B [\-p port] [\-t timeout] [\-r referraltimeout]
-.B [\-I] [\-U]
-.I (deprecated)
-.SH DESCRIPTION
-.LP
-.B Ldapd
-is the LDAP to X.500 gateway daemon. The LDAP protocol is used to
-provide lightweight TCP/IP access to the X.500 Directory. The
-.B ldapd
-server is typically invoked at boot time, usually out of
-.BR /etc/rc.local .
-Upon startup,
-.B ldapd
-normally forks and disassociates itself from the invoking tty, and then
-listens on port 389 for TCP connections from LDAP clients.
-The server performs the following basic operations for the client:
-.TP 14
-.B Bind
-Bind to the X.500 directory. Currently only simple (clear-text password)
-and kerberos version 4 authentication are supported.
-.TP
-.B Search
-Search the X.500 directory for entries that match a given filter.
-The scope of the search can be base object, one level, or whole subtree.
-Note that the X.500 read and list can be emulated using search.
-.TP
-.B Modify
-Change the attributes and values of an existing X.500 entry.
-.TP
-.B Modify RDN
-Change the Relative Distinguished Name of an X.500 entry.
-.TP
-.B Add
-Add an entry to the X.500 directory.
-.TP
-.B Remove
-Remove an entry from the X.500 directory.
-.TP
-.B Abandon
-Abort an operation in progress.
-.LP
-See
-.BR ldap (3)
-for details on client-side access to the ldap server. See
-.I RFC 1777: Lightweight Directory Access Protocol
-and
-.I RFC 1778: The String Representation of
-.I Standard Attribute Syntaxes
-for details of the protocol supporting the above operations.
-.SH OPTIONS
-.TP
-.BI \-d " level"
-Turn on debugging as defined by
-.I level.
-If this option is specified,
-.I ldapd
-will not fork or disassociate from the invoking terminal. Some general
-operation and status messages are printed for any value of \fIlevel\fP.
-\fIlevel\fP is taken as a bit string, with each bit corresponding to a
-different kind of debugging information. See <ldap.h> for details.
-.TP
-.B \-l
-Enable logging of various status and errors to the LOG_LOCAL4 facility via
-.BR syslog (8).
-.TP
-.RB \-c " dsaname"
-Connect to the named DSA initially. The
-.I dsaname
-given should be a name found in the local dsaptailor file or an
-actual presentation address.
-.TP
-.BI \-p " port"
-Listen on port
-.I port
-instead of the default port. This is useful for debugging purposes.
-.TP
-.BI \-t " timeout"
-Specify the timeout value after which idle connections from
-clients are closed.
-.TP
-.BI \-r " referraltimeout"
-Specify the timeout value after which idle connections to DSAs
-are closed.
-.TP
-.B \-I
-Run from
-.BR inetd (8)
-instead of as a stand-alone daemon.
-.TP
-.B \-U
-Support Connectionless LDAP (CLDAP). In this mode, ldapd listens for
-CLDAP search requests only on a UDP port, performs the search, and
-returns the result. See
-.BR udp (4)
-for more information on UDP.
-.SH EXAMPLES
-To start ldapd and have it fork and detach from the terminal and connect
-to the first DSA listed in the dsaptailor file, just type:
-.LP
-.nf
-.ft tt
- LIBEXECDIR/ldapd
-.ft
-.fi
-.LP
-To connect to an alternate DSA and turn on voluminous debugging which
-will be printed on standard error, type:
-.LP
-.nf
-.ft tt
- LIBEXECDIR/ldapd -c dsanameoraddr -d 31
-.ft
-.fi
-.LP
-where dsanameoraddr is a presentation address or a name that appears
-in the local dsaptailor file.
-.SH "SEE ALSO"
-.BR ldap (3),
-.BR udp (4),
-.BR slapd (8)
-.BR inetd (8)
-.LP
-Volume 5 of The ISODE Manual
-.SH ACKNOWLEDGEMENTS
-.B OpenLDAP
-is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
-.B OpenLDAP
-is derived from University of Michigan LDAP 3.3 Release.
/* define if you have res_search() */
#undef HAVE_RES_SEARCH
-/* define if you have -lxttp */
-#undef HAVE_XTPP
-
-/* define if you have -ldsap */
-#undef HAVE_DSAP
-
-/* define if you have -lisode */
-#undef HAVE_ISODE
-
-/* define if you have -lpp */
-#undef HAVE_PP
-
/* define if you have HEIMDAL Kerberos */
#undef HAVE_HEIMDAL_KERBEROS
##
## servers Makefile.in for OpenLDAP
-SUBDIRS= ldapd slapd slurpd
+SUBDIRS= slapd slurpd
+++ /dev/null
-# $OpenLDAP$
-##
-## Makefile.in for ldapd
-##
-PROGRAMS=ldapd
-XPROGRAMS=sldapd
-
-XSRCS = version.c
-
-SRCS = main.c request.c bind.c result.c error.c \
- search.c util.c compare.c message.c add.c delete.c modrdn.c modify.c \
- abandon.c syntax.c association.c kerberos.c certificate.c
-OBJS = main.o request.o bind.o result.o error.o \
- search.o util.o compare.o message.o add.o delete.o modrdn.o modify.o \
- abandon.o syntax.o association.o kerberos.o LDAP_tables.o \
- certificate.o
-
-LDAP_INCDIR= ../../include
-LDAP_LIBDIR= ../../libraries
-
-BUILD_OPT = "--enable-ldapd"
-BUILD_SRV = @BUILD_LDAPD@
-
-all-local-srv: ldapd
-
-XLIBS= -llber -llutil
-XXLIBS= $(LDAPD_LIBS) $(SECURITY_LIBS) $(LUTIL_LIBS)
-
-ldapd: version.o
- $(LTLINK) -o $@ $(OBJS) version.o $(LIBS)
-
-sldapd: version.o
- $(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS)
-
-version.c: $(OBJS) $(LDAP_LIBLBER_DEPEND)
- $(RM) $@
- $(MKVERSION) ldapd > $@
-
-request.o: LDAP-types.h
-
-LDAP_tables.c: ldap.py
- @if [ ! -z "$(PEPSY)" ]; then \
- $(PEPSY) -A ldap.py; \
- else \
- touch LDAP_tables.c LDAP-types.h; \
- fi
-
-LDAP-types.h: LDAP_tables.c
-
-install-local-srv: FORCE
- -$(MKDIR) $(DESTDIR)$(libexecdir)
- $(LTINSTALL) $(INSTALLFLAGS) -s -m 755 ldapd $(DESTDIR)$(libexecdir)
+++ /dev/null
-LDAPD is no longer supported nor actively maintained.
-This code may suffer from bitrot.
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/socket.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/abandon.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-int
-do_abandon(
- struct conn *dsaconn,
- BerElement *ber,
- int msgid
-)
-{
- int id;
- struct ds_abandon_arg aa;
- struct DAPindication di;
-
- Debug( LDAP_DEBUG_TRACE, "do_abandon\n", 0, 0 ,0 );
-
- /*
- * Parse the abandon request. It looks like this:
- * AbandonRequest := MessageID
- */
-
- if ( ber_scanf( ber, "i", &id ) == LBER_ERROR ) {
- Debug( LDAP_DEBUG_ANY, "ber_scanf failed\n", 0, 0 ,0 );
- return( 0 );
- }
-
- Debug( LDAP_DEBUG_ARGS, "do_abandin: id %d\n", id, 0 ,0 );
-
- aa.aba_invokeid = id;
-
- Debug( LDAP_DEBUG_TRACE, "DapAbandon...\n", 0, 0 ,0 );
- if ( DapAbandon( dsaconn->c_ad, msgid, &aa, &di, ROS_ASYNC )
- == NOTOK ) {
- Debug( LDAP_DEBUG_ANY, "DapAbandon failed\n", 0, 0 ,0 );
- return( 0 );
- }
- Debug( LDAP_DEBUG_TRACE, "DapAbandon completed\n", 0, 0 ,0 );
-
- return( 0 );
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/socket.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/add.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-#ifdef LDAP_COMPAT20
-#define ADDTAG (ldap_compat == 20 ? OLD_LDAP_RES_ADD : LDAP_RES_ADD)
-#else
-#define ADDTAG LDAP_RES_ADD
-#endif
-
-int
-do_add(
- Sockbuf *clientsb,
- struct msg *m,
- BerElement *ber
-)
-{
- char *dn;
- char *type, *last;
- struct berval **bvals;
- int rc;
- unsigned long tag, len;
- struct ds_addentry_arg aa;
- static CommonArgs common = default_common_args;
-
- Debug( LDAP_DEBUG_TRACE, "do_add\n", 0, 0, 0 );
-
- /*
- * Parse the add request. It looks like this:
- * AddRequest := [APPLICATION 14] SEQUENCE {
- * name DistinguishedName,
- * attrs SEQUENCE OF SEQUENCE {
- * type AttributeType,
- * values SET OF AttributeValue
- * }
- * }
- */
-
-#if ISODEPACKAGE == IC
-#if ICRELEASE > 2
- DAS_AddEntryArgument_INIT ( &aa );
-#endif
-#endif
-
- if ( ber_scanf( ber, "{a", &dn ) == LBER_ERROR ) {
- Debug( LDAP_DEBUG_ANY, "ber_scanf failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, ADDTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "" );
- return( 0 );
- }
-
- Debug( LDAP_DEBUG_ARGS, "do_add: dn (%s)\n", dn, 0, 0 );
-
- aa.ada_object = ldap_str2dn( dn );
- free( dn );
- if ( aa.ada_object == NULLDN ) {
- Debug( LDAP_DEBUG_ANY, "ldap_str2dn failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, ADDTAG, m,
- LDAP_INVALID_DN_SYNTAX, NULL, "" );
- return( 0 );
- }
-
- /* break out once we read them all, or return out on error */
- aa.ada_entry = NULLATTR;
- for ( tag = ber_first_element( ber, &len, &last ); tag != LBER_DEFAULT;
- tag = ber_next_element( ber, &len, last ) ) {
- Attr_Sequence as;
-
- if ( ber_scanf( ber, "{a{V}}", &type, &bvals ) == LBER_ERROR )
- break;
-
- if ( (as = get_as( clientsb, LDAP_RES_ADD, m, type,
- bvals )) == NULLATTR )
- return( 0 );
-
- aa.ada_entry = as_merge( aa.ada_entry, as );
- }
-
- aa.ada_common = common; /* struct copy */
-
- rc = initiate_dap_operation( OP_ADDENTRY, m, &aa );
-
- dn_free( aa.ada_object );
- as_free( aa.ada_entry );
-
- if ( rc != 0 ) {
- send_ldap_msgresult( clientsb, ADDTAG, m, rc, NULL, "" );
- return( 0 );
- }
-
- return( 1 );
-}
-
-void
-add_result(
- Sockbuf *sb,
- struct msg *m
-)
-{
- send_ldap_msgresult( sb, ADDTAG, m, LDAP_SUCCESS, NULL, "" );
-
- return;
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/errno.h>
-#include <ac/socket.h>
-#include <ac/string.h>
-#include <ac/time.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/ds_error.h>
-#include <quipu/dap.h> /* get dap_unbind() */
-#if ISODEPACKAGE == IC
-#include <ll/isoaddrs.h>
-#else
-#include <isoaddrs.h>
-#endif
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-#ifdef HAVE_SYS_FILIO_H
-#include <sys/filio.h>
-#endif
-
-#ifdef __hpux
-#define FIOGETOWN FIOGSAIOOWN
-#endif
-
-struct conn *conns;
-
-struct conn *
-conn_dup( struct conn *cn )
-{
- struct conn *new;
- if ( (new = (struct conn *) malloc( sizeof(struct conn) )) == NULL )
- return( NULL );
-
- *new = *cn;
- new->c_next = NULL;
- new->c_time = 0L;
- new->c_paddr = psap_cpy( cn->c_paddr );
- new->c_dn = strdup( cn->c_dn );
- if ( new->c_credlen > 0 ) {
- new->c_cred = (char *) malloc( cn->c_credlen );
- SAFEMEMCPY( new->c_cred, cn->c_cred, cn->c_credlen );
- } else {
- new->c_cred = "";
- }
- new->c_credlen = cn->c_credlen;
- new->c_refcnt = 1;
-
- return( new );
-}
-
-int
-conn_init( void )
-{
- struct PSAPaddr *addr;
-
- if ( (conns = (struct conn *) malloc( sizeof(struct conn) )) == NULL ) {
- Debug( LDAP_DEBUG_ANY, "conn_init: malloc failed\n", 0, 0, 0 );
- return( -1 );
- }
-
- conns->c_ad = -1;
- conns->c_dn = NULL;
- conns->c_cred = NULL;
- conns->c_credlen = 0;
-
- if ( dsa_address == NULL || (addr = str2paddr( dsa_address ))
- == NULLPA ) {
- conns->c_paddr = NULLPA;
- Debug( LDAP_DEBUG_ANY, "conn_init: bad DSA address (%s)\n",
- dsa_address ? dsa_address : "NULL", 0, 0 );
- } else {
- conns->c_paddr = psap_cpy( addr );
- }
-
- conns->c_refcnt = 1; /* this conn is never deleted */
- conns->c_next = NULL;
-
- return( 0 );
-}
-
-void
-conn_free( struct conn *conn )
-{
- struct timeval tv;
-
- Debug( LDAP_DEBUG_TRACE, "conn_free (%s): refcnt is %d\n",
- paddr2str( conn->c_paddr, NULLNA ), conn->c_refcnt, 0 );
-
- if ( --conn->c_refcnt > 0 )
- return;
-
- gettimeofday( &tv, (struct timezone *)NULL );
- if ( conn->c_time != 0L && (tv.tv_sec - conn->c_time)
- < referral_connection_timeout ) {
- Debug( LDAP_DEBUG_TRACE, "conn_free: referral conn ttl is %d\n",
- referral_connection_timeout - (tv.tv_sec - conn->c_time),
- 0, 0 );
- return;
- }
-
-
- conn_del( conn );
-
- if ( conn->c_paddr )
- free( (char *) conn->c_paddr );
- if ( conn->c_dn )
- free( conn->c_dn );
- if ( conn->c_credlen > 0 )
- free( conn->c_cred );
- free( conn );
-}
-
-void
-conn_del( struct conn *conn )
-{
- struct conn *tmp, *prev;
-
- Debug( LDAP_DEBUG_TRACE, "conn_del (%s)\n",
- paddr2str( conn->c_paddr, NULLNA ), 0, 0 );
-
- prev = NULL;
- for ( tmp = conns; tmp != NULL; tmp = tmp->c_next ) {
- if ( tmp == conn )
- break;
- prev = tmp;
- }
-
- if ( tmp == NULL ) {
- Debug( LDAP_DEBUG_ANY, "conn_del: cannot find conn\n", 0, 0,
- 0 );
- return;
- }
-
- if ( prev == NULL ) {
- conns = conns->c_next; /* delete head of list */
- } else {
- prev->c_next = tmp->c_next;
- }
-}
-
-void
-conn_setfds( fd_set *fds )
-{
- struct conn *tmp;
-
- for ( tmp = conns; tmp != NULL; tmp = tmp->c_next ) {
- if ( tmp->c_ad != -1 )
- FD_SET( tmp->c_ad, fds );
- }
-}
-
-void
-conn_badfds( void )
-{
- struct conn *tmp;
-
- for ( tmp = conns; tmp != NULL; tmp = tmp->c_next ) {
- if ( isclosed( tmp->c_ad ) ) {
- Debug( LDAP_DEBUG_ANY, "conn_badfds: fd %d is bad\n",
- tmp->c_ad, 0, 0 );
- tmp->c_ad = -1;
- }
- }
-}
-
-struct conn *
-conn_getfd( fd_set *fds )
-{
- struct conn *tmp;
-
- for ( tmp = conns; tmp != NULL; tmp = tmp->c_next ) {
- if ( tmp->c_ad != -1 )
- if ( FD_ISSET( tmp->c_ad, fds ) )
- return( tmp );
- }
-
- return( NULL );
-}
-
-void
-conn_add( struct conn *new )
-{
- struct timeval tv;
-
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_CONNS ) {
- char *str;
-
- str = paddr2str( new->c_paddr, NULLNA );
- Debug( LDAP_DEBUG_CONNS, "conn_add: (%s)\n", str, 0, 0 );
- }
-#endif
-
- gettimeofday( &tv, (struct timezone *)NULL );
- new->c_time = tv.tv_sec;
- new->c_next = conns;
- new->c_refcnt = 1;
- conns = new;
-}
-
-static int
-psap_cmp( struct PSAPaddr *a, struct PSAPaddr *b )
-{
- return( bcmp( (char *) a, (char *) b, sizeof(struct PSAPaddr) ) );
-}
-
-struct conn *
-conn_find( struct conn *c )
-{
- struct conn *tmp;
-
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_CONNS ) {
- char *str;
-
- str = paddr2str( c->c_paddr, NULLNA );
- Debug( LDAP_DEBUG_CONNS, "conn_find: (%s)\n", str, 0, 0 );
- }
-#endif
- for ( tmp = conns; tmp != NULL; tmp = tmp->c_next ) {
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_CONNS ) {
- char *str;
-
- str = paddr2str( tmp->c_paddr, NULLNA );
- Debug( LDAP_DEBUG_CONNS, "conn_find: compare to (%s)\n",
- str, 0, 0 );
- }
-#endif
- if ( psap_cmp( tmp->c_paddr, c->c_paddr ) == 0
- && strcmp( tmp->c_dn, c->c_dn ) == 0
- && tmp->c_credlen == c->c_credlen
- && bcmp( tmp->c_cred, c->c_cred, c->c_credlen ) == 0 ) {
- Debug( LDAP_DEBUG_CONNS, "conn_find: found\n", 0,
- 0, 0 );
- return( tmp );
- }
- }
-
- Debug( LDAP_DEBUG_CONNS, "conn_find: not found\n", 0, 0, 0 );
- return( NULL );
-}
-
-void
-conn_close( void )
-{
- struct conn *tmp;
-
- for ( tmp = conns; tmp != NULL; tmp = tmp->c_next ) {
- if ( tmp->c_ad != -1 )
- dap_unbind( tmp->c_ad );
- }
-}
-
-int
-isclosed( int ad )
-{
- int o;
-
- if ( ioctl( ad, FIOGETOWN, &o ) < 0 )
- return( errno == EBADF ? 1 : 0 );
- else
- return( 0 );
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/socket.h>
-#include <ac/string.h> /* get SAFEMEMCPY */
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/bind.h>
-#include <quipu/compare.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-#ifdef LDAP_COMPAT20
-#define BINDTAG (ldap_compat == 20 ? OLD_LDAP_RES_BIND : LDAP_RES_BIND)
-#else
-#define BINDTAG LDAP_RES_BIND
-#endif
-
-/*
- * do_bind - perform an X.500 bind operation. Since we always respond
- * to the request in here, always return 0 to signify the incoming message
- * can be discarded.
- */
-
-int
-do_bind(
- Sockbuf *clientsb,
- struct msg *m,
- BerElement *ber,
- int *bound
-)
-{
- int err;
- unsigned long method;
- unsigned long len;
- char *dn, *pw;
- char *matched;
- struct PSAPaddr *addr;
-
- Debug( LDAP_DEBUG_TRACE, "do_bind\n", 0, 0, 0 );
-
- /*
- * Parse the bind request. It looks like this:
- * BindRequest ::= SEQUENCE {
- * version INTEGER, -- version
- * name DistinguishedName, -- dn
- * authentication CHOICE {
- * simple [0] OCTET STRING -- passwd
- * krbv42ldap [1] OCTET STRING
- * krbv42dsa [1] OCTET STRING
- * }
- * }
- */
-
- if ( ber_scanf( ber, "{ia", &version, &dn ) == LBER_ERROR ) {
- Debug( LDAP_DEBUG_ANY, "ber_scanf failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, BINDTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "Decoding error" );
- return( 0 );
- }
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 )
- method = ber_skip_tag( ber, &len );
- else
-#endif
- method = ber_peek_tag( ber, &len );
-
- if ( ber_scanf( ber, "la}", &len, &pw ) == LBER_ERROR ) {
- Debug( LDAP_DEBUG_ANY, "ber_scanf2 failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, BINDTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "Decoding error" );
- return( 0 );
- }
-
- if ( version != LDAP_VERSION1 && version != LDAP_VERSION2 ) {
- Debug( LDAP_DEBUG_ANY, "unknown version %d\n", version, 0, 0 );
- send_ldap_msgresult( clientsb, BINDTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "Version not supported" );
- return( 0 );
- }
-
- Debug( LDAP_DEBUG_ARGS, "do_bind: version %d dn (%s) method %lu\n",
- version, dn, method );
-
- if ( m->m_conn->c_paddr == NULLPA ) {
- char buf[256];
-
- sprintf( buf, "Bad DSA address (%s)", dsa_address ?
- dsa_address : "NULL" );
- send_ldap_msgresult( clientsb, BINDTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, buf );
- return( 0 );
- }
-
- if ( m->m_conn->c_dn )
- free( m->m_conn->c_dn );
- if ( m->m_conn->c_cred )
- free( m->m_conn->c_cred );
- m->m_conn->c_dn = dn;
- m->m_conn->c_cred = pw;
- m->m_conn->c_credlen = len;
- m->m_conn->c_method = method;
-
- err = do_bind_real( m->m_conn, bound, &matched );
-
- send_ldap_msgresult( clientsb, BINDTAG, m, err, matched, "" );
-
- if ( matched != NULL )
- free( matched );
-
- return( 0 );
-}
-
-int
-do_bind_real(
- struct conn *dsaconn,
- int *bound,
- char **matched
-)
-{
- struct ds_bind_arg ba;
- struct ds_bind_arg br;
- struct ds_bind_error be;
- struct DSError dse;
- char *dn = dsaconn->c_dn;
- int err;
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
- u_long nonce;
-#endif
- Debug( LDAP_DEBUG_TRACE, "do_bind_real\n", 0, 0, 0 );
-
- *matched = NULL;
- if ( (ba.dba_dn = ldap_str2dn( dn )) == NULLDN && *dn != '\0' ) {
- Debug( LDAP_DEBUG_ANY, "ldap_str2dn (%s) failed\n", dn, 0, 0 );
- return( LDAP_INVALID_DN_SYNTAX );
- }
-
- switch ( dsaconn->c_method ) {
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_AUTH_SIMPLE:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_AUTH_SIMPLE_30:
-#endif
- case LDAP_AUTH_SIMPLE: /* x.500 simple authentication */
- if ( dsaconn->c_credlen > DBA_MAX_PASSWD_LEN ) {
- Debug( LDAP_DEBUG_ANY, "Password too long\n", 0, 0, 0 );
- return( LDAP_INAPPROPRIATE_AUTH );
- }
- if (( ba.dba_passwd_len = dsaconn->c_credlen ) > 0 ) {
- SAFEMEMCPY( ba.dba_passwd, dsaconn->c_cred,
- ba.dba_passwd_len );
- ba.dba_auth_type = DBA_AUTH_SIMPLE;
- } else {
- ba.dba_auth_type = DBA_AUTH_NONE;
- }
- ba.dba_version = DBA_VERSION_V1988;
- break;
-
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_AUTH_KRBV4:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_AUTH_KRBV41_30:
-#endif
- case LDAP_AUTH_KRBV41: /* kerberos authentication to ldap server */
- return( kerberosv4_ldap_auth( dsaconn->c_cred,
- dsaconn->c_credlen ) );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_AUTH_KRBV42:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_AUTH_KRBV42_30:
-#endif
- case LDAP_AUTH_KRBV42: /* kerberos authentication to x500 dsa */
- if ( (err = kerberosv4_bindarg( &ba, ba.dba_dn, dsaconn->c_cred,
- dsaconn->c_credlen, &nonce )) != 0 )
- return( err );
- break;
-#endif
-
- default:
- return( LDAP_PROTOCOL_ERROR );
- break;
- }
-
- if ( dsaconn->c_ad != -1 )
- dap_unbind( dsaconn->c_ad );
-
- Debug( LDAP_DEBUG_TRACE, "dap_bind to dsa (%s)...\n", paddr2str(
- dsaconn->c_paddr, NULLNA ), 0, 0 );
-
- err = dap_bind( &dsaconn->c_ad, &ba, &be, &br, dsaconn->c_paddr );
-
- if ( err != DS_OK && ba.dba_dn != NULLDN && ba.dba_auth_type
- == DBA_AUTH_NONE && be.dbe_type == DBE_TYPE_SECURITY ) {
- /* if doing a NULL bind, retry with a NULL dn */
- Debug( LDAP_DEBUG_TRACE, "retring NULL dap_bind\n", 0, 0, 0 );
- dn_free( ba.dba_dn );
- ba.dba_dn = NULLDN;
- err = dap_bind( &dsaconn->c_ad, &ba, &be, &br,
- dsaconn->c_paddr );
- }
-
- if ( err != DS_OK ) {
- if ( ba.dba_dn != NULLDN )
- dn_free( ba.dba_dn );
-
- if ( be.dbe_type == DBE_TYPE_SERVICE ) {
- dse.dse_type = DSE_SERVICEERROR;
- dse.ERR_SERVICE.DSE_sv_problem = be.dbe_value;
- } else if ( be.dbe_type == DBE_TYPE_SECURITY ) {
- dse.dse_type = DSE_SECURITYERROR;
- dse.ERR_SECURITY.DSE_sc_problem = be.dbe_value;
- } else {
- dse.dse_type = DSE_REMOTEERROR;
- }
- err = x500err2ldaperr( &dse, matched );
-
-#ifdef LDAP_DEBUG
- if ( ldap_debug )
- print_error( &dse ); /* prints and then frees */
- else
-#endif
- ds_error_free( &dse );
-
- dsaconn->c_ad = -1;
-
- return( err );
- }
- bind_arg_free( &br );
-
- Debug( LDAP_DEBUG_TRACE, "dap_bind successful\n", 0, 0, 0 );
-
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
-/* XXX why doesn't this work??
- if ( dsaconn->c_method == LDAP_AUTH_KRBV42 &&
- kerberos_check_mutual( &br, nonce ) != 0 ) {
- Debug( LDAP_DEBUG_ANY, "Mutual authentication failed\n", 0, 0,
- 0 );
- return( LDAP_INVALID_CREDENTIALS );
- }
-*/
-#endif
-
- *bound = 1;
-
- return( LDAP_SUCCESS );
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * certificate.c - ldap version of quipu certificate syntax handler
- * donated by Eric Rosenquist and BNR
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/ctype.h>
-#include <ac/socket.h>
-#include <ac/string.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/ds_search.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-extern sntx_table *get_syntax_table( short int sntx );
-extern PE asn2pe( char * );
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-int
-ldap_certif_print( PS ps, struct certificate *parm, int format )
-{
- Debug( LDAP_DEBUG_TRACE, "ldap_certif_print()\n", 0, 0, 0 );
-
-/*
- * An ldap certificate looks like this:
- *
- * <certificate> ::= <version> '#' <serial> '#' <signature-algorithm-id>
- * '#' <issuer> '#' <validity> '#' <subject>
- * '#' <public-key-info> '#' <encrypted-sign-value>
- * <version> ::= <integervalue>
- * <serial> ::= <integervalue>
- * <signature-algorithm-id> ::= <algorithm-id>
- * <issuer> ::= an encoded Distinguished Name
- * <validity> ::= <not-before-time> '#' <not-after-time>
- * <not-before-time> ::= <utc-time>
- * <not-after-time> ::= <utc-time>
- * <algorithm-parameters> ::= <null> | <integervalue> |
- * '{ASN}' <hex-string>
- * <subject> ::= an encoded Distinguished Name
- * <public-key-info> ::= <algorithm-id> '#' <encrypted-sign-value>
- * <encrypted-sign-value> ::= <hex-string> | <hex-string> '-' <d>
- * <algorithm-id> ::= <oid> '#' <algorithm-parameters>
- * <utc-time> ::= an encoded UTCTime value
- * <hex-string> ::= <hex-digit> | <hex-digit> <hex-string>
- */
-
- ps_printf(ps, "%d#%d#", parm->version, parm->serial);
-
- ldap_print_algid(ps, &(parm->sig.alg), format);
-
- dn_print_real(ps, parm->issuer, format);
- ps_printf(ps, "#");
-
- utcprint(ps, parm->valid.not_before, format);
- ps_printf(ps, "#");
- utcprint(ps, parm->valid.not_after, format);
- ps_printf(ps, "#");
-
- dn_print_real(ps, parm->subject, format);
- ps_printf(ps, "#");
-
- ldap_print_algid(ps, &(parm->key.alg), format);
- print_encrypted(ps, parm->key.value, parm->key.n_bits, format);
-
- print_encrypted(ps, parm->sig.encrypted, parm->sig.n_bits, format);
-}
-
-void
-ldap_print_algid( PS ps, struct alg_id *parm, int format )
-{
- ps_printf(ps, "%s#", oid2name (parm->algorithm, OIDPART));
-
- switch(parm->p_type) {
- case ALG_PARM_ABSENT:
- if(parm->asn != NULLPE)
- pe_print(ps, parm->asn, format);
- ps_printf(ps, "#");
- break;
- case ALG_PARM_NUMERIC:
- if (format == READOUT)
- ps_printf(ps, "%d#", parm->un.numeric);
- else
- ps_printf(ps, "%d#", parm->un.numeric);
- break;
- default:
- if (format == READOUT)
- {
- if ((parm->asn->pe_class == PE_CLASS_UNIV)
- &&(parm->asn->pe_form == PE_FORM_PRIM)
- &&(parm->asn->pe_id == PE_PRIM_INT))
- ps_printf(ps, "%d", prim2num(parm->asn));
- else if ((parm->asn->pe_class == PE_CLASS_UNIV)
- &&(parm->asn->pe_form == PE_FORM_PRIM)
- &&(parm->asn->pe_id == PE_PRIM_NULL))
- ps_printf(ps, "NULL");
- else
- {
- vpushquipu (ps);
- vunknown(parm->asn);
- vpopquipu ();
- }
- }
- else
- {
- /* This routine will print a {ASN} prefix */
- pe_print(ps, parm->asn, format);
- }
- ps_printf(ps, "#");
- }
-}
-
-struct certificate *
-ldap_str2cert( char *str )
-{
-struct certificate *result;
-char *ptr;
-OID oid;
-
- Debug( LDAP_DEBUG_TRACE, "ldap_str2cert(%s)\n", str, 0, 0 );
-
- result = (struct certificate *) calloc(1, sizeof(*result));
-
- /* version */
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("version not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- result->version = atoi(str);
-
- /* serial number */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("serial number not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- result->serial = atoi(str);
-
- /* signature algorithm id - oid */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("signature algorithm id not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- oid = name2oid(SkipSpace(str));
- if (oid == NULLOID)
- {
- parse_error("Bad algorithm identifier (SIGNED Value)",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- result->sig.alg.algorithm = oid;
- result->alg.algorithm = oid_cpy(oid);
-
- /* signature algorithm id - parameters */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("algorithm id parameters not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- ldap_str2alg(str, &(result->sig.alg));
- ldap_str2alg(str, &(result->alg));
-
- /* issuer */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("Issuer not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- result->issuer = ldap_str2dn(str);
-
- /* validity - not before */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("Start time not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- result->valid.not_before = strdup(str);
-
- /* validity - not after */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("End time not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- result->valid.not_after = strdup(str);
-
- /* subject */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("Subject not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- result->subject = ldap_str2dn(str);
-
- /* public key info - algorithm id - oid */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("public key info algid oid not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- oid = name2oid(SkipSpace(str));
- if (oid == NULLOID)
- {
- free((char*)result);
- return (struct certificate *) 0;
- }
- result->key.alg.algorithm = oid;
-
- /* public key info - algorithm id - parameters */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("Parameters not present (SIGNED Value)",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- ldap_str2alg(str, &(result->key.alg));
-
- /* public key info - encrypted sign value */
- str = ptr;
- ptr = strchr(str, '#');
- if (ptr == NULLCP)
- {
- parse_error("Signature not present",NULLCP);
- cert_free(result);
- return (struct certificate *) 0;
- }
- *ptr++ = '\0';
- str2encrypted(str, &(result->key.value), &(result->key.n_bits));
-
- /* encrypted sign value */
- str = ptr;
- str2encrypted(str, &(result->sig.encrypted), &(result->sig.n_bits));
-
- return (result);
-}
-
-void
-ldap_str2alg( char *str, struct alg_id *alg )
-{
- if ((str == NULLCP) || (*str == '\0'))
- {
- alg->asn = NULLPE;
- alg->p_type = ALG_PARM_ABSENT;
- }
- else if (strncmp(str,"{ASN}", 5) == 0)
- {
- alg->asn = asn2pe((char*)str+5);
- alg->p_type = ALG_PARM_UNKNOWN;
- }
- else if (strncmp(str, "NULL", 4) == 0)
- {
- alg->asn = asn2pe((char*)"0500");
- alg->p_type = ALG_PARM_UNKNOWN;
- }
- else
- {
- alg->asn=NULLPE;
- alg->p_type = ALG_PARM_NUMERIC;
- alg->un.numeric = atoi(str);
- }
-}
-
-void
-certif_init( void )
-{
- sntx_table *syntax_table;
-
- if ((syntax_table = get_syntax_table(ldap_certif_syntax)) != NULL) {
- syntax_table->s_print = (void *) ldap_certif_print;
- syntax_table->s_parse = (void *) ldap_str2cert;
- } else
- fprintf(stderr, "error getting sntx table in certif_init()\n");
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#ifndef _LDAPD_COMMON_H
-#define _LDAPD_COMMON_H 1
-
-/*
- * This structure represents an association to a dsa. There is one of
- * these for each association open (a new association is made for each
- * new dsa, and for each dn).
- */
-
-struct conn {
- int c_ad; /* association descriptor */
- char *c_dn; /* the dn this asoc is bound as */
- char *c_cred; /* corresponding pw */
- long c_credlen;
- unsigned long c_method;
- struct PSAPaddr *c_paddr; /* the dsa address */
- int c_time; /* time this association inited */
- int c_refcnt; /* number of ops referencing this ad */
- struct conn *c_next;
-};
-
-/*
- * This structure represents a sequence of LDAPMod elements.
- */
-typedef struct LDAPModList {
- LDAPMod m;
- struct LDAPModList *mod_next;
-} LDAPModList;
-
-
-/*
- * This structure represents an outstanding request. There is one of
- * these for each client request for which we have not yet received a
- * response from a dsa.
- */
-
-struct msg {
- int m_msgid; /* the message id */
- int m_uniqid; /* unique id for this message */
- int m_msgtype; /* the ldap operation type */
- LDAPModList *m_mods; /* for modify operations only */
- BerElement *m_ber; /* the unparsed ber for the op */
- struct conn *m_conn; /* connection structure */
-#ifdef LDAP_CONNECTIONLESS
- int m_cldap; /* connectionless transport? (CLDAP) */
- struct sockaddr m_clientaddr; /* client address (if using CLDAP) */
- DN m_searchbase; /* base used in search */
-#endif /* LDAP_CONNECTIONLESS */
- struct msg *m_next;
-};
-
-#define DEFAULT_TIMEOUT 3600 /* idle client connections */
-#define DEFAULT_REFERRAL_TIMEOUT 900 /* DSA connections */
-
-#include "proto-ldapd.h"
-#include "ldap_log.h"
-
-/* from ISODE */
-extern char *dsa_address;
-extern char *bound_dn, *bound_pw;
-struct PSAPaddr *psap_cpy(struct PSAPaddr *);
-
-/* in association.c */
-extern struct conn *conns;
-
-/* in main.c */
-#ifdef LDAP_DEBUG
-extern int ldap_debug;
-#endif
-extern int version;
-#ifdef LDAP_COMPAT
-extern int ldap_compat;
-#endif
-extern int dosyslog;
-extern int do_tcp;
-#ifdef LDAP_CONNECTIONLESS
-extern int do_udp;
-#endif
-extern int idletime;
-extern int referral_connection_timeout;
-extern struct timeval conn_start_tv;
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
-extern char *krb_ldap_service;
-extern char *krb_x500_service;
-extern char *krb_x500_instance;
-extern char *krb_x500_nonce;
-extern char *kerberos_keyfile;
-#endif
-
-/* syntax.c */
-extern short ldap_photo_syntax;
-extern short ldap_jpeg_syntax;
-extern short ldap_jpeg_nonfile_syntax;
-extern short ldap_audio_syntax;
-extern short ldap_dn_syntax;
-extern short ldap_postaladdress_syntax;
-extern short ldap_acl_syntax;
-extern short ldap_mtai_syntax;
-extern short ldap_rts_cred_syntax;
-extern short ldap_rtl_syntax;
-extern short ldap_mailbox_syntax;
-extern short ldap_caseignorelist_syntax;
-extern short ldap_caseexactstring_syntax;
-extern short ldap_certif_syntax;
-extern short ldap_iattr_syntax;
-extern short ldap_telex_syntax;
-extern short ldap_octetstring_syntax;
-extern short ldap_deliverymethod_syntax;
-extern short ldap_facsimileTelephoneNumber_syntax;
-extern short ldap_presentationAddress_syntax;
-extern short ldap_teletexTerminalIdentifier_syntax;
-extern short ldap_searchGuide_syntax;
-extern short ldap_dLSubmitPermission_syntax;
-
-/* Version.c */
-extern char Versionstr[];
-
-#endif
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/socket.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/compare.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-#ifdef HAVE_COMPAT20
-#define COMPTAG (ldap_compat == 20 ? OLD_LDAP_RES_COMPARE : LDAP_RES_COMPARE)
-#else
-#define COMPTAG LDAP_RES_COMPARE
-#endif
-
-int
-do_compare(
- Sockbuf *clientsb,
- struct msg *m,
- BerElement *ber
-)
-{
- char *dn, *attr, *value;
- int rc;
- struct ds_compare_arg ca;
- AttributeType type;
- static CommonArgs common = default_common_args;
-
- Debug( LDAP_DEBUG_TRACE, "do_compare\n", 0, 0, 0 );
-
- /*
- * Parse the compare request. It looks like this:
- * CompareRequest := [APPLICATION 14] SEQUENCE {
- * entry DistinguishedName,
- * ava SEQUENCE {
- * type AttributeType,
- * value AttributeValue
- * }
- * }
- */
-
-#if ISODEPACKAGE == IC
-#if ICRELEASE > 2
- DAS_CompareArgument_INIT ( &ca );
-#endif
-#endif
-
- if ( ber_scanf( ber, "{a{aa}}", &dn, &attr, &value ) == LBER_ERROR ) {
- Debug( LDAP_DEBUG_ANY, "ber_scanf failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, COMPTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "" );
- return( 0 );
- }
-
- Debug( LDAP_DEBUG_ARGS, "do_compare: dn (%s) attr (%s) value (%s)\n",
- dn, attr, value );
-
- ca.cma_object = ldap_str2dn( dn );
- free( dn );
- if ( ca.cma_object == NULLDN ) {
- Debug( LDAP_DEBUG_ANY, "ldap_str2dn failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, COMPTAG, m,
- LDAP_INVALID_DN_SYNTAX, NULL, "" );
- return( 0 );
- }
-
- type = str2AttrT( attr );
- if ( type == NULLAttrT ) {
- Debug( LDAP_DEBUG_ANY, "str2AttrT failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, COMPTAG, m,
- LDAP_UNDEFINED_TYPE, NULL, attr );
- free( attr );
- return( 0 );
- }
- free( attr );
- ca.cma_purported.ava_type = type;
-
- ca.cma_purported.ava_value = ldap_str2AttrV( value, type->oa_syntax );
- free( value );
- if ( ca.cma_purported.ava_value == NULLAttrV ) {
- Debug( LDAP_DEBUG_ANY, "str2AttrV failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, COMPTAG, m,
- LDAP_INVALID_SYNTAX, NULL, "" );
- return( 0 );
- }
-
- ca.cma_common = common; /* struct copy */
-
- rc = initiate_dap_operation( OP_COMPARE, m, &ca );
-
- dn_free( ca.cma_object );
- AttrV_free( ca.cma_purported.ava_value );
-
- if ( rc != 0 ) {
- send_ldap_msgresult( clientsb, COMPTAG, m, rc, NULL, "" );
- return( 0 );
- }
-
- return( 1 );
-}
-
-void
-compare_result(
- Sockbuf *sb,
- struct msg *m,
- struct ds_compare_result *cr
-)
-{
- send_ldap_msgresult( sb, COMPTAG, m, cr->cmr_matched ?
- LDAP_COMPARE_TRUE : LDAP_COMPARE_FALSE, NULL, "" );
-
- return;
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-/* ac/socket.h must precede ISODE #includes or p_type must be #undeffed
- * after it is included. (Because ISODE uses p_type as a field name, and
- * SunOS 5.5:sys/vtype.h defines it (and ac/socket.h indirectly includes it) */
-#include <ac/socket.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/remove.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-#ifdef HAVE_COMPAT20
-#define DELTAG (ldap_compat == 20 ? OLD_LDAP_RES_DELETE : LDAP_RES_DELETE)
-#else
-#define DELTAG LDAP_RES_DELETE
-#endif
-
-/*
- * do_delete - Initiate an X.500 remove entry operation. Returns 1 if
- * the operation was initiated successfully, and thus a response will be
- * coming back from the DSA. Returns 0 if there was trouble and thus no
- * DSA response is expected.
- */
-
-int
-do_delete(
- Sockbuf *clientsb,
- struct msg *m,
- BerElement *ber
-)
-{
- char *dn;
- int rc;
- struct ds_removeentry_arg ra;
- static CommonArgs common = default_common_args;
-
- Debug( LDAP_DEBUG_TRACE, "do_delete\n", 0, 0, 0 );
-
- /*
- * Parse the delete request. It looks like this:
- * DelRequest := DistinguishedName
- */
-
-#if ISODEPACKAGE == IC
-#if ICRELEASE > 2
- DAS_RemoveEntryArgument_INIT( &ra );
-#endif
-#endif
-
- if ( ber_scanf( ber, "a", &dn ) == LBER_ERROR ) {
- Debug( LDAP_DEBUG_ANY, "ber_scanf failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, DELTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "" );
- return( 0 );
- }
-
- Debug( LDAP_DEBUG_ARGS, "do_delete: dn (%s)\n", dn, 0, 0 );
-
- ra.rma_object = ldap_str2dn( dn );
- free( dn );
- if ( ra.rma_object == NULLDN ) {
- Debug( LDAP_DEBUG_ANY, "ldap_str2dn failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, DELTAG, m,
- LDAP_INVALID_DN_SYNTAX, NULL, "" );
- return( 0 );
- }
-
- ra.rma_common = common; /* struct copy */
-
- rc = initiate_dap_operation( OP_REMOVEENTRY, m, &ra );
-
- dn_free( ra.rma_object );
-
- if ( rc != 0 ) {
- send_ldap_msgresult( clientsb, DELTAG, m, rc, NULL, "" );
- return( 0 );
- }
-
- return( 1 );
-}
-
-void
-delete_result(
- Sockbuf *sb,
- struct msg *m
-)
-{
- send_ldap_msgresult( sb, DELTAG, m, LDAP_SUCCESS, NULL, "" );
-
- return;
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/ctype.h>
-#include <ac/socket.h>
-
-#include <quipu/ds_error.h>
-#include <quipu/attrvalue.h>
-#include <quipu/name.h>
-#include <quipu/commonarg.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "ldap_log.h"
-#include "common.h" /* get ldap_dn_print() */
-
-void
-print_error( struct DSError *e )
-{
- PS ps;
-
- if ( (ps = ps_alloc( std_open )) == NULLPS ) {
- fprintf( stderr, "error in ps_alloc\n" );
- return;
- }
- if ( std_setup( ps, stderr ) == NOTOK ) {
- fprintf( stderr, "error in std_setup = %d", ps->ps_errno );
- return;
- }
-
- ds_error( ps, e );
-
- ps_flush( ps );
- ps_free( ps );
-}
-
-int
-x500err2ldaperr( struct DSError *e, char **matched )
-{
- int ldaperr = LDAP_OTHER;
- static PS ps;
-
- Debug( LDAP_DEBUG_TRACE, "x500err2ldaperr\n", 0, 0, 0 );
-
- *matched = NULL;
- switch ( e->dse_type ) {
- case DSE_ATTRIBUTEERROR:
-#if ISODEPACKAGE == IC || ISODEPACKAGE == XT
- switch ( e->ERR_ATTRIBUTE.DSE_at_plist->DSE_at_what ) {
-#else
- switch ( e->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_what ) {
-#endif
- case DSE_AT_NOSUCHATTRIBUTE:
- ldaperr = LDAP_NO_SUCH_ATTRIBUTE;
- break;
- case DSE_AT_INVALIDATTRIBUTESYNTAX:
- ldaperr = LDAP_INVALID_SYNTAX;
- break;
- case DSE_AT_UNDEFINEDATTRIBUTETYPE:
- ldaperr = LDAP_UNDEFINED_TYPE;
- break;
- case DSE_AT_INAPPROPRIATEMATCHING:
- ldaperr = LDAP_INAPPROPRIATE_MATCHING;
- break;
- case DSE_AT_CONSTRAINTVIOLATION:
- ldaperr = LDAP_CONSTRAINT_VIOLATION;
- break;
- case DSE_AT_TYPEORVALUEEXISTS:
- ldaperr = LDAP_TYPE_OR_VALUE_EXISTS;
- break;
- default:
- break;
- }
- break;
-
- case DSE_NAMEERROR:
- switch( e->ERR_NAME.DSE_na_problem ) {
- case DSE_NA_NOSUCHOBJECT:
- ldaperr = LDAP_NO_SUCH_OBJECT;
- break;
- case DSE_NA_ALIASPROBLEM:
- ldaperr = LDAP_ALIAS_PROBLEM;
- break;
- case DSE_NA_INVALIDATTRIBUTESYNTAX:
- ldaperr = LDAP_INVALID_SYNTAX;
- break;
- case DSE_NA_ALIASDEREFERENCE:
- ldaperr = LDAP_ALIAS_DEREF_PROBLEM;
- break;
- default:
- break;
- }
-
- if ( e->ERR_NAME.DSE_na_matched == NULLDN ) {
- break;
- }
-
- if ( ps == NULL ) {
- ps = ps_alloc( str_open );
- str_setup( ps, NULLCP, 0, 0 );
- }
- ldap_dn_print( ps, e->ERR_NAME.DSE_na_matched, NULLDN, EDBOUT );
- *ps->ps_ptr = '\0';
-
- *matched = (char *) strdup( ps->ps_base );
-
- ps->ps_ptr = ps->ps_base;
- ps->ps_cnt = ps->ps_bufsiz;
- break;
-
- case DSE_SERVICEERROR:
- switch( e->ERR_SERVICE.DSE_sv_problem ) {
- case DSE_SV_BUSY:
- ldaperr = LDAP_BUSY;
- break;
- case DSE_SV_UNAVAILABLE:
- ldaperr = LDAP_UNAVAILABLE;
- break;
- case DSE_SV_UNWILLINGTOPERFORM:
- ldaperr = LDAP_UNWILLING_TO_PERFORM;
- break;
- case DSE_SV_TIMELIMITEXCEEDED:
- ldaperr = LDAP_TIMELIMIT_EXCEEDED;
- break;
- case DSE_SV_ADMINLIMITEXCEEDED:
- ldaperr = LDAP_SIZELIMIT_EXCEEDED;
- break;
- case DSE_SV_LOOPDETECT:
- ldaperr = LDAP_LOOP_DETECT;
- break;
- default:
- break;
- }
- break;
-
- case DSE_SECURITYERROR:
- switch( e->ERR_SECURITY.DSE_sc_problem ) {
- case DSE_SC_AUTHENTICATION:
- ldaperr = LDAP_INAPPROPRIATE_AUTH;
- break;
- case DSE_SC_INVALIDCREDENTIALS:
- ldaperr = LDAP_INVALID_CREDENTIALS;
- break;
- case DSE_SC_ACCESSRIGHTS:
- ldaperr = LDAP_INSUFFICIENT_ACCESS;
- break;
- default:
- break;
- }
- break;
-
- case DSE_UPDATEERROR:
- switch( e->ERR_UPDATE.DSE_up_problem ) {
- case DSE_UP_NAMINGVIOLATION:
- ldaperr = LDAP_NAMING_VIOLATION;
- break;
- case DSE_UP_OBJECTCLASSVIOLATION:
- ldaperr = LDAP_OBJECT_CLASS_VIOLATION;
- break;
- case DSE_UP_NOTONNONLEAF:
- ldaperr = LDAP_NOT_ALLOWED_ON_NONLEAF;
- break;
- case DSE_UP_NOTONRDN:
- ldaperr = LDAP_NOT_ALLOWED_ON_RDN;
- break;
- case DSE_UP_ALREADYEXISTS:
- ldaperr = LDAP_ALREADY_EXISTS;
- break;
- case DSE_UP_NOOBJECTCLASSMODS:
- ldaperr = LDAP_NO_OBJECT_CLASS_MODS;
- break;
- default:
- break;
- }
- break;
-
- default:
- break;
- }
-
- return( ldaperr );
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
-
-#include <stdio.h>
-
-#include <ac/krb.h>
-#include <ac/socket.h>
-
-#include <quipu/bind.h>
-#if ISODEPACKAGE == IC
-#include <quipu/DAS-types.h>
-#else
-#include <pepsy/DAS-types.h>
-#endif
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-int
-kerberosv4_ldap_auth( char *cred, long len )
-{
- KTEXT_ST k;
- KTEXT ktxt = &k;
- char instance[INST_SZ];
- int err;
- AUTH_DAT ad;
-
- Debug( LDAP_DEBUG_TRACE, "kerberosv4_ldap_auth\n", 0, 0, 0 );
-
- SAFEMEMCPY( ktxt->dat, cred, len );
- ktxt->length = len;
-
- strcpy( instance, "*" );
- if ( (err = krb_rd_req( ktxt, krb_ldap_service, instance, 0L,
- &ad, kerberos_keyfile )) != KSUCCESS ) {
- Debug( LDAP_DEBUG_ANY, "krb_rd_req failed (%s)\n",
- krb_err_txt[err], 0, 0 );
- return( LDAP_INVALID_CREDENTIALS );
- }
-
- return( LDAP_SUCCESS );
-}
-
-int
-kerberosv4_bindarg(
- struct ds_bind_arg *ba,
- DN dn,
- char *cred,
- long len,
- u_long *nonce
-)
-{
- struct type_UNIV_EXTERNAL *e;
- struct kerberos_parms kp;
- PE pe;
- struct timeval tv;
- char realm[REALM_SZ];
- int err;
-
- Debug( LDAP_DEBUG_TRACE, "kerberosv4_bindarg\n", 0, 0, 0 );
-
- e = (struct type_UNIV_EXTERNAL *) calloc( 1,
- sizeof(struct type_UNIV_EXTERNAL) );
- e->encoding = (struct choice_UNIV_0 *) calloc( 1,
- sizeof(struct choice_UNIV_0) );
- ba->dba_external = e;
- ba->dba_version = DBA_VERSION_V1988;
- ba->dba_auth_type = DBA_AUTH_EXTERNAL;
-
- e->indirect__reference = AUTH_TYPE_KERBEROS_V4;
- e->direct__reference = NULLOID;
- e->data__value__descriptor = str2qb( "KRBv4 client credentials",
- 24, 1 );
-
- kp.kp_dn = dn;
- kp.kp_version = AUTH_TYPE_KERBEROS_V4;
-
- if ( (err = krb_get_lrealm( realm, 1 )) != KSUCCESS ) {
- Debug( LDAP_DEBUG_ANY, "krb_get_lrealm failed (%s)\n",
- krb_err_txt[err], 0, 0 );
- return( LDAP_OPERATIONS_ERROR );
- }
-
- gettimeofday( &tv, NULL );
- *nonce = tv.tv_sec;
- SAFEMEMCPY( kp.kp_ktxt.dat, cred, len );
- kp.kp_ktxt.length = len;
- if ( encode_kerberos_parms( &pe, &kp ) == NOTOK ) {
- Debug( LDAP_DEBUG_ANY, "kerberos parms encoding failed\n", 0,
- 0, 0 );
- return( LDAP_OPERATIONS_ERROR );
- }
-
- e->encoding->offset = choice_UNIV_0_single__ASN1__type;
- e->encoding->un.single__ASN1__type = pe;
-
- return( 0 );
-}
-
-int
-kerberos_check_mutual(
- struct ds_bind_arg *res,
- u_long nonce
-)
-{
- struct type_UNIV_EXTERNAL *e = res->dba_external;
- struct kerberos_parms *kp;
- int ret;
-
- Debug( LDAP_DEBUG_TRACE, "kerberos_check_mutual\n", 0, 0, 0 );
-
- if ( decode_kerberos_parms( e->encoding->un.single__ASN1__type, &kp )
- == NOTOK )
- return( NOTOK );
- ret = ((kp->kp_nonce == (nonce + 1)) ? OK : NOTOK );
-
- Debug( LDAP_DEBUG_TRACE, "expecting %d got %d\n", nonce, kp->kp_nonce,
- 0 );
-
- pe_free( e->encoding->un.single__ASN1__type );
- dn_free( kp->kp_dn );
- free( (char *) kp );
-
- return( ret );
-}
-
-#endif
+++ /dev/null
-LDAP DEFINITIONS IMPLICIT TAGS ::=
-
-PREFIXES encode decode print
-
-BEGIN
-
-LDAPMessage ::=
- SEQUENCE {
- messageID MessageID,
- -- unique id in request,
- -- to be echoed in response(s)
- protocolOp CHOICE {
- searchRequest SearchRequest,
- searchResponse SearchResponse,
- modifyRequest ModifyRequest,
- modifyResponse ModifyResponse,
- addRequest AddRequest,
- addResponse AddResponse,
- delRequest DelRequest,
- delResponse DelResponse,
- modifyDNRequest ModifyRDNRequest,
- modifyDNResponse ModifyRDNResponse,
- compareDNRequest CompareRequest,
- compareDNResponse CompareResponse,
- bindRequest BindRequest,
- bindResponse BindResponse,
- abandonRequest AbandonRequest,
- unbindRequest UnbindRequest
- }
- }
-
-BindRequest ::=
- [APPLICATION 0] SEQUENCE {
- version INTEGER (1 .. 127),
- -- current version is 2
- name LDAPDN,
- -- null name implies an anonymous bind
- authentication CHOICE {
- simple [0] OCTET STRING,
- -- a zero length octet string
- -- implies an unauthenticated
- -- bind.
- krbv42LDAP [1] OCTET STRING,
- krbv42DSA [2] OCTET STRING
- -- values as returned by
- -- krb_mk_req()
- -- Other values in later
- -- versions of this protocol.
- }
- }
-
-BindResponse ::= [APPLICATION 1] LDAPResult
-
-UnbindRequest ::= [APPLICATION 2] NULL
-
-SearchRequest ::=
- [APPLICATION 3] SEQUENCE {
- baseObject LDAPDN,
- scope ENUMERATED {
- baseObject (0),
- singleLevel (1),
- wholeSubtree (2)
- },
- derefAliases ENUMERATED {
- neverDerefAliases (0),
- derefInSearching (1),
- derefFindingBaseObj (2),
- alwaysDerefAliases (3)
- },
- sizeLimit INTEGER (0 .. maxInt),
- -- value of 0 implies no sizelimit
- timeLimit INTEGER (0 .. maxInt),
- -- value of 0 implies no timelimit
- attrsOnly BOOLEAN,
- -- TRUE, if only attributes (without values)
- -- to be returned.
- filter Filter,
- attributes SEQUENCE OF AttributeType
- }
-
-SearchResponse ::=
- CHOICE {
- entry [APPLICATION 4] SEQUENCE {
- objectName LDAPDN,
- attributes SEQUENCE OF SEQUENCE {
- AttributeType,
- SET OF
- AttributeValue
- }
- },
- resultCode [APPLICATION 5] LDAPResult
- }
-
-ModifyRequest ::=
- [APPLICATION 6] SEQUENCE {
- object LDAPDN,
- modifications SEQUENCE OF SEQUENCE {
- operation ENUMERATED {
- add (0),
- delete (1),
- replace (2)
- },
- modification SEQUENCE {
- type AttributeType,
- values SET OF
- AttributeValue
- }
- }
- }
-
-
-ModifyResponse ::= [APPLICATION 7] LDAPResult
-
-AddRequest ::=
- [APPLICATION 8] SEQUENCE {
- entry LDAPDN,
- attrs SEQUENCE OF SEQUENCE {
- type AttributeType,
- values SET OF AttributeValue
- }
- }
-
-AddResponse ::= [APPLICATION 9] LDAPResult
-
-DelRequest ::= [APPLICATION 10] LDAPDN
-
-DelResponse ::= [APPLICATION 11] LDAPResult
-
-ModifyRDNRequest ::=
- [APPLICATION 12] SEQUENCE {
- entry LDAPDN,
- newrdn RelativeLDAPDN -- old RDN always deleted
- }
-
-ModifyRDNResponse ::= [APPLICATION 13] LDAPResult
-
-CompareRequest ::=
- [APPLICATION 14] SEQUENCE {
- entry LDAPDN,
- ava AttributeValueAssertion
- }
-
-CompareResponse ::= [APPLICATION 15] LDAPResult
-
-AbandonRequest ::= [APPLICATION 16] MessageID
-
-MessageID ::= INTEGER (0 .. maxInt)
-
-LDAPDN ::= OCTET STRING
-
-RelativeLDAPDN ::= OCTET STRING
-
-Filter ::=
- CHOICE {
- and [0] SET OF Filter,
- or [1] SET OF Filter,
- not [2] Filter,
- equalityMatch [3] AttributeValueAssertion,
- substrings [4] SubstringFilter,
- greaterOrEqual [5] AttributeValueAssertion,
- lessOrEqual [6] AttributeValueAssertion,
- present [7] AttributeType,
- approxMatch [8] AttributeValueAssertion
- }
-
-LDAPResult ::=
- SEQUENCE {
- resultCode ENUMERATED {
- success (0),
- operationsError (1),
- protocolError (2),
- timeLimitExceeded (3),
- sizeLimitExceeded (4),
- compareFalse (5),
- compareTrue (6),
- authMethodNotSupported (7),
- strongAuthRequired (8),
- noSuchAttribute (16),
- undefinedAttributeType (17),
- inappropriateMatching (18),
- constraintViolation (19),
- attributeOrValueExists (20),
- invalidAttributeSyntax (21),
- noSuchObject (32),
- aliasProblem (33),
- invalidDNSyntax (34),
- isLeaf (35),
- aliasDereferencingProblem (36),
- inappropriateAuthentication (48),
- invalidCredentials (49),
- insufficientAccessRights (50),
- busy (51),
- unavailable (52),
- unwillingToPerform (53),
- loopDetect (54),
- namingViolation (64),
- objectClassViolation (65),
- notAllowedOnNonLeaf (66),
- notAllowedOnRDN (67),
- entryAlreadyExists (68),
- objectClassModsProhibited (69),
- other (80)
- },
- matchedDN LDAPDN,
- errorMessage OCTET STRING
- }
-
-AttributeType ::= OCTET STRING
- -- text name of the attribute, or dotted
- -- OID representation
-
-AttributeValue ::= OCTET STRING
-
-AttributeValueAssertion ::=
- SEQUENCE {
- attributeType AttributeType,
- attributeValue AttributeValue
- }
-
-SubstringFilter ::=
- SEQUENCE {
- type AttributeType,
- SEQUENCE OF CHOICE {
- initial [0] OCTET STRING,
- any [1] OCTET STRING,
- final [2] OCTET STRING
- }
- }
-
-maxInt INTEGER ::= 65535
-END
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990-1996 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-/*
- * Some code fragments to run from inetd stolen from the University
- * of Minnesota gopher distribution, which had this copyright on it:
- *
- * Part of the Internet Gopher program, copyright (C) 1991
- * University of Minnesota Microcomputer Workstation and Networks Center
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/signal.h>
-#include <ac/socket.h>
-#include <ac/string.h>
-#include <ac/syslog.h>
-#include <ac/time.h>
-#include <ac/unistd.h>
-#include <ac/wait.h>
-
-#ifdef LDAP_PROCTITLE
-#include <ac/setproctitle.h>
-#endif
-
-#include <quipu/commonarg.h>
-#include <quipu/ds_error.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-#include "lutil.h" /* Get lutil_detach() */
-
-#ifdef HAVE_TCPD
-#include <tcpd.h>
-
-int allow_severity = LOG_INFO;
-int deny_severity = LOG_NOTICE;
-#endif /* TCP_WRAPPERS */
-
-static int set_socket( int port, int udp );
-static void do_queries( int clientsock, int udp );
-static RETSIGTYPE wait4child( int sig );
-#ifdef LDAP_CONNECTIONLESS
-static int udp_init( int port, int createsocket );
-#endif
-
-#ifdef LDAP_DEBUG
-int ldap_debug;
-#endif
-int version;
-#ifdef LDAP_COMPAT
-int ldap_compat;
-#endif
-int dosyslog;
-int do_tcp = 1;
-#ifdef LDAP_CONNECTIONLESS
-int do_udp = 0;
-#endif
-int idletime = DEFAULT_TIMEOUT;
-int referral_connection_timeout = DEFAULT_REFERRAL_TIMEOUT;
-struct timeval conn_start_tv;
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
-char *krb_ldap_service = "ldapserver";
-char *krb_x500_service = "x500dsa";
-char *krb_x500_instance;
-char *krb_x500_nonce;
-char *kerberos_keyfile;
-#endif
-
-int dtblsize;
-int RunFromInetd = 0;
-
-static void
-usage( char *name )
-{
- fprintf( stderr, "usage: %s [-d debuglvl] [-p port] [-l] [-c dsa] [-r referraltimeout]", name );
-#ifdef LDAP_CONNECTIONLESS
- fprintf( stderr, " [ -U | -t timeout ]" );
-#else
- fprintf( stderr, " [ -t timeout ]" );
-#endif
- fprintf( stderr, " [-I]" );
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
- fprintf( stderr, " [-i dsainstance]" );
-#endif
- fprintf( stderr, "\n" );
-}
-
-int
-main( int argc, char **argv )
-{
- int tcps, ns;
-#ifdef LDAP_CONNECTIONLESS
- int udps;
-#endif
- int myport = LDAP_PORT;
- int no_detach = 0;
- int i, pid, socktype;
- char *myname;
- fd_set readfds;
- struct hostent *hp;
- struct sockaddr_in from;
- socklen_t len;
- int dsapargc;
- char **dsapargv;
-#ifdef LDAP_PROCTITLE
- char title[80];
-#endif
-
-#ifdef VMS
- /* Pick up socket from inetd-type server on VMS */
- if ( (ns = socket_from_server( NULL )) > 0 )
- RunFromInetd = 1;
-#else
- /* Socket from inetd is usually 0 */
- ns = 0;
-#endif
-
- /* for dsap_init */
- if ( (dsapargv = (char **) malloc( 4 * sizeof(char *) )) == NULL ) {
- perror( "malloc" );
- exit( 1 );
- }
- dsapargv[0] = argv[0];
- dsapargv[1] = 0;
- dsapargv[2] = 0;
- dsapargv[3] = 0;
- dsapargc = 1;
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
- kerberos_keyfile = "";
-#endif
-
- /* process command line arguments */
- while ( (i = getopt( argc, argv, "d:lp:f:i:c:r:t:IuU" )) != EOF ) {
- switch ( i ) {
- case 'c': /* specify dsa to contact */
- dsapargv[1] = "-call";
- dsapargv[2] = strdup( optarg );
- dsapargc = 3;
- break;
-
- case 'd': /* set debug level and 'do not detach' flag */
- no_detach = 1;
-#ifdef LDAP_DEBUG
- ldap_debug = atoi( optarg );
- if ( ldap_debug & LDAP_DEBUG_PACKETS )
- ber_set_option( NULL, LBER_OPT_DEBUG_LEVEL, &ldap_debug );
-#else
- if ( atoi( optarg ) != 0 )
- fputs( "Not compiled with -DLDAP_DEBUG!\n", stderr );
-#endif
- break;
-
- case 'l': /* do syslogging */
- dosyslog = 1;
- break;
-
- case 'p': /* specify port number */
- myport = atoi( optarg );
- break;
-
- case 'r': /* timeout for referral connections */
- referral_connection_timeout = atoi( optarg );
- break;
-
- case 't': /* timeout for idle connections */
- idletime = atoi( optarg );
- break;
-
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
- case 'f': /* kerberos key file */
- kerberos_keyfile = strdup( optarg );
- break;
-
- case 'i': /* x500 dsa kerberos instance */
- if ( krb_x500_instance != NULL )
- free( krb_x500_instance );
- krb_x500_instance = strdup( optarg );
- break;
-#endif
-
- case 'I': /* Run from inetd */
- RunFromInetd = 1;
- break;
-
-#ifdef LDAP_CONNECTIONLESS
- case 'U': /* UDP only (no TCP) */
- do_tcp = 0;
- do_udp = 1;
- break;
-
-#ifdef NOTYET
- case 'u': /* allow UDP requests (CLDAP) */
- do_udp = 1;
- break;
-#endif /* NOTYET */
-
-#endif /* LDAP_CONNECTIONLESS */
-
- default:
- usage( argv[0] );
- exit( 1 );
- }
- }
-
- if ( optind < argc ) {
- usage( argv[ 0 ] );
- exit( 1 );
- }
-
-#ifdef LDAP_CONNECTIONLESS
- if ( do_udp && !do_tcp && idletime != DEFAULT_TIMEOUT ) {
- usage( argv[ 0 ] );
- exit( 1 );
- }
-#endif
-
- Debug( LDAP_DEBUG_TRACE, "%s", Versionstr, 0, 0 );
-
-#ifdef HAVE_SYSCONF
- dtblsize = sysconf( _SC_OPEN_MAX );
-#elif HAVE_GETDTABLESIZE
- dtblsize = getdtablesize();
-#else
- dtblsize = FD_SETSIZE;
-#endif
-
-#ifdef FD_SETSIZE
- if( dtblsize > FD_SETSIZE ) {
- dtblsize = FD_SETSIZE;
- }
-#endif /* FD_SETSIZE */
-
-#if defined(LDAP_PROCTITLE) && !defined( HAVE_SETPROCTITLE )
- /* for setproctitle */
- Argv = argv;
- Argc = argc;
-#endif
-
- if ( (myname = strrchr( argv[0], '/' )) == NULL )
- myname = strdup( argv[0] );
- else
- myname = strdup( myname + 1 );
-
- /*
- * detach from the terminal if stderr is redirected or no
- * debugging is wanted, and then arrange to reap children
- * that have exited
- */
- if (!RunFromInetd) {
-#ifdef LDAP_PROCTITLE
- setproctitle( "initializing" );
-#endif
-#ifndef VMS
- lutil_detach( no_detach, 1 );
-#endif
- (void) SIGNAL( SIGCHLD, wait4child );
- (void) SIGNAL( SIGINT, log_and_exit );
- }
-
- /*
- * set up syslogging (if desired)
- */
- if ( dosyslog ) {
-#ifdef LOG_LOCAL4
- openlog( myname, OPENLOG_OPTIONS, LOG_LOCAL4 );
-#elif LOG_DEBUG
- openlog( myname, OPENLOG_OPTIONS );
-#endif
- }
-
- /*
- * load the syntax handlers, oidtables, and initialize some stuff,
- * then start listening
- */
-
- (void) quipu_syntaxes();
-#ifdef LDAP_USE_PP
- (void) pp_quipu_init( argv[0] );
-#endif
-#if ISODEPACKAGE == IC
-#if ICRELEASE > 2
- dsa_operation_syntaxes();
-#endif
-#endif
- (void) dsap_init( &dsapargc, &dsapargv );
- (void) get_syntaxes();
- if (RunFromInetd) {
- len = sizeof( socktype );
- getsockopt( ns, SOL_SOCKET, SO_TYPE, (char *)&socktype, &len );
- if ( socktype == SOCK_DGRAM ) {
-#ifdef LDAP_CONNECTIONLESS
- Debug( LDAP_DEBUG_ARGS,
- "CLDAP request from unknown (%s)\n",
- inet_ntoa( from.sin_addr ), 0, 0 );
- conn_start_tv.tv_sec = 0;
- udp_init( 0, 0 );
- do_queries( ns, 1 );
-#else /* LDAP_CONNECTIONLESS */
- Debug( LDAP_DEBUG_ARGS,
- "Compile with -DLDAP_CONNECTIONLESS for UDP support\n",0,0,0 );
-#endif /* LDAP_CONNECTIONLESS */
- exit( 0 );
- }
-
- len = sizeof(from);
- if ( getpeername( ns, (struct sockaddr *) &from, &len )
- == 0 ) {
- hp = gethostbyaddr( (char *) &(from.sin_addr),
- sizeof(from.sin_addr), AF_INET );
- Debug( LDAP_DEBUG_ARGS, "connection from %s (%s)\n",
- (hp == NULL) ? "unknown" : hp->h_name,
- inet_ntoa( from.sin_addr ), 0 );
-
- if ( dosyslog ) {
- syslog( LOG_INFO, "connection from %s (%s)",
- (hp == NULL) ? "unknown" : hp->h_name,
- inet_ntoa( from.sin_addr ) );
- }
-
-#ifdef LDAP_PROCTITLE
- sprintf( title, "%s %d\n", hp == NULL ?
- inet_ntoa( from.sin_addr ) : hp->h_name, myport );
- setproctitle( title );
-#endif
- }
- gettimeofday( &conn_start_tv, (struct timezone *) NULL );
- do_queries( ns, 0 );
-
- exit( 0 );
- }
-
- if ( do_tcp )
- tcps = set_socket( myport, 0 );
-
-#ifdef LDAP_CONNECTIONLESS
- if ( do_udp )
- udps = udp_init( myport, 1 );
-#endif
-
- /*
- * loop, wait for a connection, then fork off a child to handle it
- * if we are doing CLDAP as well, handle those requests on the fly
- */
-
-#ifdef LDAP_PROCTITLE
-#ifdef LDAP_CONNECTIONLESS
- sprintf( title, "listening %s/%s %d", do_tcp ? "tcp" : "",
- do_udp ? "udp" : "", myport );
-#else
- sprintf( title, "listening %s %d", do_tcp ? "tcp" : "", myport );
-#endif
- setproctitle( title );
-#endif
-
- for ( ;; ) {
- FD_ZERO( &readfds );
- if ( do_tcp )
- FD_SET( tcps, &readfds );
-#ifdef LDAP_CONNECTIONLESS
- if ( do_udp )
- FD_SET( udps, &readfds );
-#endif
-
- if ( select( dtblsize, &readfds, 0, 0, 0 ) < 1 ) {
-#ifdef LDAP_DEBUG
- if ( ldap_debug ) perror( "main select" );
-#endif
- continue;
- }
-
-#ifdef LDAP_CONNECTIONLESS
- if ( do_udp && FD_ISSET( udps, &readfds ) ) {
- do_queries( udps, 1 );
- }
-#endif
-
- if ( !do_tcp || ! FD_ISSET( tcps, &readfds ) ) {
- continue;
- }
-
- len = sizeof(from);
- if ( (ns = accept( tcps, (struct sockaddr *) &from, &len ))
- == -1 ) {
-#ifdef LDAP_DEBUG
- if ( ldap_debug ) perror( "accept" );
-#endif
- continue;
- }
-
- hp = gethostbyaddr( (char *) &(from.sin_addr),
- sizeof(from.sin_addr), AF_INET );
-
-#ifdef HAVE_TCPD
- if ( !hosts_ctl("ldapd", (hp == NULL) ? "unknown" : hp->h_name,
- inet_ntoa( from.sin_addr ), STRING_UNKNOWN) ) {
-
- Debug( LDAP_DEBUG_ARGS, "connection from %s (%s) denied.\n",
- (hp == NULL) ? "unknown" : hp->h_name,
- inet_ntoa( from.sin_addr ), 0 );
-
- if ( dosyslog ) {
- syslog( LOG_NOTICE, "connection from %s (%s) denied.",
- (hp == NULL) ? "unknown" : hp->h_name,
- inet_ntoa( from.sin_addr ) );
- }
-
- tcp_close(ns);
- continue;
- }
-#endif /* TCP_WRAPPERS */
-
- Debug( LDAP_DEBUG_ARGS, "connection from %s (%s)\n",
- (hp == NULL) ? "unknown" : hp->h_name,
- inet_ntoa( from.sin_addr ), 0 );
-
-
- if ( dosyslog ) {
- syslog( LOG_INFO, "connection from %s (%s)",
- (hp == NULL) ? "unknown" : hp->h_name,
- inet_ntoa( from.sin_addr ) );
- }
-
-#ifdef VMS
- /* This is for debug on terminal on VMS */
- tcp_close( tcps );
-#ifdef LDAP_PROCTITLE
- setproctitle( hp == NULL ? inet_ntoa( from.sin_addr ) :
- hp->h_name );
-#endif
- gettimeofday( &conn_start_tv, (struct timezone *) NULL );
- (void) SIGNAL( SIGPIPE, log_and_exit );
-
- do_queries( ns, 0 );
- /* NOT REACHED */
-#endif
-
- switch( pid = fork() ) {
- case 0: /* child */
- tcp_close( tcps );
-#ifdef LDAP_PROCTITLE
- sprintf( title, "%s (%d)\n", hp == NULL ?
- inet_ntoa( from.sin_addr ) : hp->h_name,
- myport );
- setproctitle( title );
-#endif
- gettimeofday( &conn_start_tv, (struct timezone *) NULL );
- (void) SIGNAL( SIGPIPE, log_and_exit );
-
- do_queries( ns, 0 );
- break;
-
- case -1: /* failed */
-#ifdef LDAP_DEBUG
- if ( ldap_debug ) perror( "fork" );
-#endif
- tcp_close( ns );
- syslog( LOG_ERR, "fork failed %m" );
- /* let things cool off */
- sleep( 15 );
- break;
-
- default: /* parent */
- tcp_close( ns );
- Debug( LDAP_DEBUG_TRACE, "forked child %d\n", pid, 0,
- 0 );
- break;
- }
- }
- /* NOT REACHED */
-}
-
-static void
-do_queries(
- int clientsock,
- int udp /* is this a UDP (CLDAP) request? */
-)
-{
- fd_set readfds;
- int rc;
- struct timeval timeout;
- Sockbuf *sb;
-#ifdef LDAP_CONNECTIONLESS
- struct sockaddr saddr, faddr;
- struct sockaddr *saddrlist[ 1 ];
-#endif /* LDAP_CONNECTIONLESS */
-
- Debug( LDAP_DEBUG_TRACE, "do_queries%s\n",
- udp ? " udp" : "", 0, 0 );
-
- /*
- * Loop, wait for a request from the client or a response from
- * a dsa, then handle it. Dsap_ad is always a connection to the
- * "default" dsa. Other connections can be made as a result of
- * a referral being chased down. These association descriptors
- * are kept track of with the message that caused the referral.
- * The set_dsa_fds() routine traverses the list of outstanding
- * messages, setting the appropriate bits in readfds.
- */
-
- if ( !udp ) {
- conn_init();
- }
-
- sb = ber_sockbuf_alloc( );
- ber_sockbuf_add_io( sb, (udp) ? &ber_sockbuf_io_udp :
- &ber_sockbuf_io_tcp, (void *)&clientsock );
- timeout.tv_sec = idletime;
- timeout.tv_usec = 0;
- for ( ;; ) {
- struct conn *dsaconn;
-
- FD_ZERO( &readfds );
- FD_SET( clientsock, &readfds );
- conn_setfds( &readfds );
-
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_CONNS ) {
- int i;
- Debug( LDAP_DEBUG_CONNS, "FDLIST:", 0, 0, 0 );
- for ( i = 0; i < dtblsize; i++ ) {
- if ( FD_ISSET( i, &readfds ) ) {
- Debug( LDAP_DEBUG_CONNS, " %d", i, 0,
- 0);
- }
- }
- Debug( LDAP_DEBUG_CONNS, "\n", 0, 0, 0 );
- }
-#endif
-
- /*
- * hack - because of lber buffering, there might be stuff
- * already waiting for us on the client sock.
- */
-
- if ( ! ber_sockbuf_ctrl( sb, LBER_SB_OPT_DATA_READY, NULL ) ) {
- if ( (rc = select( dtblsize, &readfds, 0, 0,
- udp ? 0 : &timeout )) < 1 ) {
-#ifdef LDAP_DEBUG
- if ( ldap_debug ) perror( "do_queries select" );
-#endif
- if ( rc == 0 )
- log_and_exit( 0 ); /* idle timeout */
-
- Debug( LDAP_DEBUG_ANY, "select returns %d!\n",
- rc, 0, 0 );
-
- /* client gone away - we can too */
- if ( isclosed( clientsock ) )
- log_and_exit( 0 );
-
- /*
- * check if a dsa conn has gone away -
- * mark it bad if so
- */
- conn_badfds();
-
- continue;
- }
- }
-
- if ( ber_sockbuf_ctrl( sb, LBER_SB_OPT_DATA_READY, NULL ) ||
- FD_ISSET( clientsock, &readfds ) ) {
- client_request( sb, conns, udp );
- } else {
- if ( (dsaconn = conn_getfd( &readfds )) == NULL ) {
- Debug( LDAP_DEBUG_ANY, "No DSA activity!\n",
- 0, 0, 0 );
- continue;
- }
-
- dsa_response( dsaconn, sb );
- }
- }
- /* NOT REACHED */
-}
-
-static int
-set_socket(
- int port,
- int udp /* UDP port? */
-)
-{
- int s, i;
- struct sockaddr_in addr;
-
- if ( (s = socket( AF_INET, udp ? SOCK_DGRAM:SOCK_STREAM, 0 )) == -1 ) {
- perror( "socket" );
- exit( 1 );
- }
-
-#ifdef SO_REUSEADDR
- /* set option so clients can't keep us from coming back up */
- i = 1;
- if ( setsockopt( s, SOL_SOCKET, SO_REUSEADDR, (void *) &i, sizeof(i) )
- < 0 )
- {
- perror( "setsockopt" );
- exit( 1 );
- }
-#endif
-#ifdef SO_KEEPALIVE
- /* enable keep alives */
- i = 1;
- if ( setsockopt( s, SOL_SOCKET, SO_KEEPALIVE, (void *) &i, sizeof(i) )
- < 0 )
- {
- perror( "setsockopt" );
- exit( 1 );
- }
-#endif
-
- /* bind to a name */
- (void)memset( (void *)&addr, '\0', sizeof( addr ));
- addr.sin_family = AF_INET;
- addr.sin_addr.s_addr = htonl(INADDR_ANY);
- addr.sin_port = htons( port );
- if ( bind( s, (struct sockaddr *) &addr, sizeof(addr) ) ) {
- perror( "bind" );
- exit( 1 );
- }
-
- if ( !udp ) {
- /* listen for connections */
- if ( listen( s, 5 ) == -1 ) {
- perror( "listen" );
- exit( 1 );
- }
- }
-
- Debug( LDAP_DEBUG_TRACE, "listening on %s port %d\n",
- udp ? "udp" : "tcp", port, 0 );
-
- return( s );
-}
-
-static RETSIGTYPE
-wait4child( int sig )
-{
-#ifndef HAVE_WAITPID
- WAITSTATUSTYPE status;
-#endif
-
- Debug( LDAP_DEBUG_TRACE, "parent: catching child status\n", 0, 0, 0 );
-
-#ifdef HAVE_WAITPID
- while( waitpid( (pid_t) -1, (int *) NULL, WAIT_FLAGS ) > 0 )
- ; /* NULL */
-#else
- while ( wait4( (pid_t) -1, &status, WAIT_FLAGS, 0 ) > 0 )
- ; /* NULL */
-#endif
-
- (void) SIGNAL( SIGCHLD, wait4child );
-}
-
-
-RETSIGTYPE
-log_and_exit( int exitcode )
-{
- struct timeval tv;
-
- if ( dosyslog ) {
- if ( conn_start_tv.tv_sec == 0 ) {
- syslog( LOG_INFO, "UDP exit(%d)", exitcode );
- } else {
- gettimeofday( &tv, (struct timezone *)NULL );
- syslog( LOG_INFO, "TCP closed %d seconds, exit(%d)",
- tv.tv_sec - conn_start_tv.tv_sec, exitcode );
- }
- }
-
- exit( exitcode );
-}
-
-
-#ifdef LDAP_CONNECTIONLESS
-static int
-udp_init(
- int port,
- int createsocket
-)
-{
- int s, bound;
- char *matched;
-
- if ( createsocket )
- s = set_socket( port, 1 );
-
- conn_init();
- conns->c_dn = strdup("");
- conns->c_cred = strdup("");
- conns->c_credlen = 0;
- conns->c_method = LDAP_AUTH_SIMPLE;
-
- if ( dsa_address == NULL || (conns->c_paddr = str2paddr( dsa_address ))
- == NULLPA ) {
- fprintf(stderr, "Bad DSA address (%s)\n", dsa_address ?
- dsa_address : "NULL" );
- exit( 1 );
- } else {
- conns->c_paddr = psap_cpy(conns->c_paddr);
- }
-
- if ( do_bind_real(conns, &bound, &matched) != LDAP_SUCCESS) {
- fprintf(stderr, "Cannot bind to directory\n");
- exit( 1 );
- }
- if ( matched != NULL )
- free( matched );
-
- return( createsocket ? s : 0 );
-}
-#endif
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/socket.h>
-#include <ac/string.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/ds_error.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-static struct msg *messages;
-
-struct msg *add_msg(
- int msgid,
- int msgtype,
- BerElement *ber,
- struct conn *dsaconn,
- int udp,
- struct sockaddr *clientaddr
-)
-{
- struct msg *new;
- static int uniqid = 0;
-
- /* make a new message */
- if ( (new = (struct msg *) malloc( sizeof(struct msg) )) == NULL ) {
- Debug( LDAP_DEBUG_ANY, "addmsg: malloc failed\n", 0, 0, 0 );
- return( NULL );
- }
- new->m_msgid = msgid;
- new->m_uniqid = ++uniqid;
- new->m_msgtype = msgtype;
- new->m_ber = ber;
- new->m_mods = NULL;
- new->m_conn = dsaconn;
- new->m_conn->c_refcnt++;
- new->m_next = NULL;
-
-#ifdef LDAP_CONNECTIONLESS
- new->m_cldap = udp;
- new->m_searchbase = NULLDN;
-
- if ( udp ) {
- new->m_clientaddr = *clientaddr;
- Debug( LDAP_DEBUG_TRACE, "udp message from %s port %d\n",
- inet_ntoa( ((struct sockaddr_in *)clientaddr)->sin_addr ),
- ((struct sockaddr_in *)clientaddr)->sin_port, 0 );
- }
-#endif
-
- /* add it to the front of the queue */
- new->m_next = messages;
- messages = new;
-
- return( new );
-}
-
-struct msg *get_msg( int uniqid )
-{
- struct msg *tmp;
-
- for ( tmp = messages; tmp != NULL; tmp = tmp->m_next ) {
- if ( tmp->m_uniqid == uniqid )
- return( tmp );
- }
-
- return( NULL );
-}
-
-int
-del_msg( struct msg *m )
-{
- struct msg *cur, *prev;
-
- prev = NULL;
- for ( cur = messages; cur != NULL; cur = cur->m_next ) {
- if ( cur == m )
- break;
- prev = cur;
- }
-
- if ( cur == NULL ) {
- Debug( LDAP_DEBUG_ANY, "delmsg: cannot find msg %lx\n",
- (unsigned long) m, 0, 0 );
- return( -1 );
- }
-
- if ( prev == NULL ) {
- messages = cur->m_next;
- } else {
- prev->m_next = cur->m_next;
- }
- conn_free( cur->m_conn );
- modlist_free( cur->m_mods );
- ber_free( cur->m_ber, 1 );
-#ifdef LDAP_CONNECTIONLESS
- if ( cur->m_searchbase != NULLDN ) {
- dn_free( cur->m_searchbase );
- }
-#endif /* LDAP_CONNECTIONLESS */
- free( (char *) cur );
-
- return( 0 );
-}
-
-/*
- * send_msg - Send a messge in response to every outstanding request on
- * a given connection. This is used, for example, when an association to
- * a dsa fails. It deletes messages to which it responds.
- */
-
-void
-send_msg(
- struct conn *conn,
- Sockbuf *clientsb,
- int err,
- char *str
-)
-{
- struct msg *tmp, *next;
-
- next = NULL;
- for ( tmp = messages; tmp != NULL; tmp = next ) {
- next = tmp->m_next;
-
- if ( tmp->m_conn == conn ) {
- send_ldap_msgresult( clientsb, tmp->m_msgtype, tmp,
- err, NULL, str );
- }
-
- del_msg( tmp );
- }
-}
-
-
-#ifdef LDAP_CONNECTIONLESS
-struct msg *
-get_cldap_msg(
- int msgid,
- int msgtype,
- struct sockaddr *fromaddr
-)
-{
- struct msg *tmp;
-
- for ( tmp = messages; tmp != NULL; tmp = tmp->m_next ) {
- if ( tmp->m_cldap && tmp->m_msgid == msgid &&
- tmp->m_msgtype == msgtype &&
- ((struct sockaddr_in *)&tmp->m_clientaddr)->sin_port ==
- ((struct sockaddr_in *)fromaddr)->sin_port &&
- ((struct sockaddr_in *)&tmp->m_clientaddr)->sin_addr
- == ((struct sockaddr_in *)fromaddr)->sin_addr ) {
- break;
- }
- }
-
- return( tmp );
-}
-#endif /* LDAP_CONNECTIONLESS */
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/ctype.h>
-#include <ac/socket.h>
-#include <ac/string.h> /* get SAFEMEMCPY */
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/modify.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-extern IFP merge_acl;
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-static CommonArgs common = default_common_args;
-
-static int replace_mod( struct entrymod *, Attr_Sequence, Attr_Sequence );
-
-#ifdef LDAP_COMPAT20
-#define MODTAG (ldap_compat == 20 ? OLD_LDAP_RES_MODIFY : LDAP_RES_MODIFY)
-#else
-#define MODTAG LDAP_RES_MODIFY
-#endif
-
-int
-do_modify(
- Sockbuf *clientsb,
- struct msg *m,
- BerElement *ber
-)
-{
- char *dn;
- char *last;
- int rc;
- unsigned long tag, len;
- LDAPModList *mods, *modtail;
- struct ds_read_arg ra;
-
- Debug( LDAP_DEBUG_TRACE, "do_modify\n", 0, 0, 0 );
-
- /*
- * Parse the modify request. It looks like this:
- * ModifyRequest := [APPLICATION 6] SEQUENCE {
- * name DistinguishedName,
- * mods SEQUENCE OF SEQUENCE {
- * operation ENUMERATED {
- * add (0),
- * delete (1),
- * replace (2)
- * },
- * modification SEQUENCE {
- * type AttributeType,
- * values SET OF AttributeValue
- * }
- * }
- * }
- * We then have to initiate a read of the entry to be modified.
- * The actual modification is done by do_modify2(), after the
- * read completes.
- */
-
-#if ISODEPACKAGE == IC
-#if ICRELEASE > 2
- DAS_ReadArgument_INIT( &ra );
-#endif
-#endif
-
- if ( ber_scanf( ber, "{a", &dn ) == LBER_ERROR ) {
- Debug( LDAP_DEBUG_ANY, "ber_scanf failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, MODTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "" );
- return( 0 );
- }
-
- Debug( LDAP_DEBUG_ARGS, "do_modify: dn (%s)\n", dn, 0, 0 );
-
- ra.rda_object = ldap_str2dn( dn );
- free( dn );
- if ( ra.rda_object == NULLDN ) {
- Debug( LDAP_DEBUG_ANY, "ldap_str2dn failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, MODTAG, m,
- LDAP_INVALID_DN_SYNTAX, NULL, "" );
- return( 0 );
- }
- ra.rda_eis.eis_allattributes = TRUE;
- ra.rda_eis.eis_infotypes = EIS_ATTRIBUTESANDVALUES;
- ra.rda_eis.eis_select = NULLATTR;
-
- /* collect modifications & save for later */
- mods = modtail = NULL;
- for ( tag = ber_first_element( ber, &len, &last ); tag != LBER_DEFAULT;
- tag = ber_next_element( ber, &len, last ) ) {
- LDAPModList *tmp;
-
- if ( (tmp = (LDAPModList *) calloc( 1, sizeof(LDAPModList) ))
- == NULL ) {
- send_ldap_msgresult( clientsb, MODTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "Malloc error" );
- return( 0 );
- }
-
- if ( ber_scanf( ber, "{i{a[V]}}", &tmp->m.mod_op,
- &tmp->m.mod_type, &tmp->m.mod_bvalues ) == LBER_ERROR ) {
- send_ldap_msgresult( clientsb, MODTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "" );
- return( 0 );
- }
-
- if ( mods == NULL ) {
- mods = tmp;
- } else {
- modtail->mod_next = tmp;
- }
- modtail = tmp;
- }
- m->m_mods = mods;
-
- ra.rda_common = common; /* struct copy */
-
- rc = initiate_dap_operation( OP_READ, m, &ra );
-
- dn_free( ra.rda_object );
-
- if ( rc != 0 ) {
- send_ldap_msgresult( clientsb, MODTAG, m, rc, NULL, "" );
- return( 0 );
- }
-
- return( 1 );
-}
-
-int
-do_modify2(
- Sockbuf *clientsb,
- struct msg *m,
- struct ds_read_result *rr
-)
-{
- struct ds_modifyentry_arg ma;
- struct entrymod *changetail = NULLMOD;
- int rc;
- LDAPModList *mods;
-
- Debug( LDAP_DEBUG_TRACE, "do_modify2\n", 0, 0, 0 );
-
-#if ISODEPACKAGE == IC
-#if ICRELEASE > 2
- DAS_ModifyEntryArgument_INIT( &ma );
-#endif
-#endif
-
- ma.mea_changes = NULLMOD;
- for ( mods = m->m_mods; mods != NULL; mods = mods->mod_next ) {
- struct entrymod *em;
- Attr_Sequence as, new;
-
- if ( (em = (struct entrymod *) calloc( 1,
- sizeof(struct entrymod) )) == NULLMOD ) {
- send_ldap_msgresult( clientsb, MODTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "Malloc error" );
- return( 0 );
- }
- em->em_next = NULLMOD;
-
- if ( (new = get_as( clientsb, MODTAG, m,
- mods->m.mod_type, mods->m.mod_bvalues )) == NULLATTR )
- return( 0 );
- em->em_what = new;
-
- for ( as = rr->rdr_entry.ent_attr; as != NULLATTR;
- as = as->attr_link ) {
- if ( AttrT_cmp( new->attr_type, as->attr_type ) == 0 )
- break;
- }
-
- if ( new->attr_value == NULLAV &&
- mods->m.mod_op != LDAP_MOD_DELETE ) {
- send_ldap_msgresult( clientsb, MODTAG, m,
- LDAP_INVALID_SYNTAX, NULL, "No values specified" );
- return( 0 );
- }
-
- switch ( mods->m.mod_op ) {
- case LDAP_MOD_ADD:
- Debug( LDAP_DEBUG_ARGS, "ADD:\n", 0, 0, 0 );
-
- if ( as == NULLATTR ) {
- Debug( LDAP_DEBUG_ARGS, "\tattribute\n", 0, 0,
- 0 );
- em->em_type = EM_ADDATTRIBUTE;
- } else {
- Debug( LDAP_DEBUG_ARGS, "\tvalues\n", 0, 0, 0 );
- em->em_type = EM_ADDVALUES;
- }
- break;
-
- case LDAP_MOD_DELETE:
- Debug( LDAP_DEBUG_ARGS, "DELETE:\n", 0, 0, 0 );
-
- if ( as == NULLATTR ) {
- Debug( LDAP_DEBUG_ARGS,
- "\tno existing attribute\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, MODTAG,
- m, LDAP_NO_SUCH_ATTRIBUTE, NULL, "" );
- ems_free( em );
- return( 0 );
- } else {
- if ( new->attr_value == NULLAV ) {
- Debug( LDAP_DEBUG_ARGS, "\tattribute\n",
- 0, 0, 0 );
- em->em_type = EM_REMOVEATTRIBUTE;
- } else {
- if ( avs_cmp( new->attr_value,
- as->attr_value ) == 0 ) {
- Debug( LDAP_DEBUG_ARGS,
- "\tattribute\n", 0, 0, 0 );
- em->em_type =
- EM_REMOVEATTRIBUTE;
- } else {
- Debug( LDAP_DEBUG_ARGS,
- "\tvalues\n", 0, 0, 0 );
- em->em_type = EM_REMOVEVALUES;
- }
- }
- }
- break;
-
- case LDAP_MOD_REPLACE:
- Debug( LDAP_DEBUG_ARGS, "REPLACE:\n", 0, 0, 0 );
-
- if ( as == NULLATTR ) {
- Debug( LDAP_DEBUG_ARGS, "\tattribute\n", 0, 0,
- 0 );
- em->em_type = EM_ADDATTRIBUTE;
- } else {
- if ( replace_mod( em, as, new ) < 0 ) {
- return( 0 );
- }
- }
- break;
-
- default:
- Debug( LDAP_DEBUG_ARGS, "UNKNOWN MOD:\n", 0, 0, 0 );
-
- send_ldap_msgresult( clientsb, MODTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "" );
- return( 0 );
- break;
- }
-
- if ( em->em_what == NULL ) { /* ignore this mod */
- free( em );
- } else {
- if ( ma.mea_changes == NULLMOD ) {
- ma.mea_changes = em;
- } else {
- changetail->em_next = em;
- }
- changetail = em->em_next == NULLMOD ? em : em->em_next;
- }
- }
-
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- struct entrymod *e;
- Attr_Sequence as;
- AV_Sequence val;
- PS ps;
-
- ps = ps_alloc( std_open );
- std_setup( ps, stderr );
-
- fprintf( stderr, "Modify changes are:\n");
- for (e = ma.mea_changes; e; e = e->em_next) {
- switch (e->em_type) {
- case EM_ADDATTRIBUTE:
- fprintf( stderr, "\tADD ATTRIBUTE\n");
- break;
- case EM_REMOVEATTRIBUTE:
- fprintf( stderr, "\tREMOVE ATTRIBUTE\n");
- break;
- case EM_ADDVALUES:
- fprintf( stderr, "\tADD VALUES\n");
- break;
- case EM_REMOVEVALUES:
- fprintf( stderr, "\tREMOVE VALUES\n");
- break;
- default:
- fprintf( stderr, "\tUNKNOWN\n");
- break;
- }
-
- as = e->em_what;
- fprintf( stderr, "\t\ttype (" );
- AttrT_print( ps, as->attr_type, EDBOUT );
- fprintf( stderr, ")" );
- if ( e->em_type == EM_REMOVEATTRIBUTE ) {
- fprintf( stderr, "\n" );
- continue;
- }
- fprintf( stderr, " values" );
- for (val = as->attr_value; val; val = val->avseq_next) {
- ps_print( ps, " (" );
- AttrV_print( ps, &val->avseq_av, EDBOUT );
- ps_print( ps, ")" );
- }
- fprintf( stderr, "\n" );
- }
- ps_free( ps );
- }
-#endif
-
- if ( ma.mea_changes == NULLMOD ) { /* nothing to do */
- send_ldap_msgresult( clientsb, MODTAG, m,
- LDAP_SUCCESS, NULL, "" );
- return( 0 );
- }
-
- ma.mea_object = rr->rdr_entry.ent_dn;
- ma.mea_common = common; /* struct copy */
-
- rc = initiate_dap_operation( OP_MODIFYENTRY, m, &ma );
-
- ems_free( ma.mea_changes );
-
- if ( rc != 0 ) {
- send_ldap_msgresult( clientsb, MODTAG, m, rc, NULL, "" );
- return( 0 );
- }
-
- return( 1 );
-}
-
-Attr_Sequence
-get_as(
- Sockbuf *clientsb,
- unsigned long op,
- struct msg *m,
- char *type,
- struct berval **bvals
-)
-{
- Attr_Sequence as;
- int i;
- short syntax;
-
- Debug( LDAP_DEBUG_TRACE, "get_as\n", 0, 0, 0 );
-
- if ( (as = as_comp_new( NULLAttrT, NULLAV, NULLACL_INFO ))
- == NULLATTR ) {
- send_ldap_msgresult( clientsb, op, m,
- LDAP_OPERATIONS_ERROR, NULL, "Malloc error" );
- return( NULLATTR );
- }
- as->attr_link = NULLATTR;
- as->attr_value = NULLAV;
- as->attr_acl = NULLACL_INFO;
-
- if ( (as->attr_type = str2AttrT( type )) == NULLAttrT ) {
- send_ldap_msgresult( clientsb, op, m, LDAP_UNDEFINED_TYPE,
- NULL, type );
- return( NULLATTR );
- }
-
- if ( bvals == NULL )
- return( as );
-
- syntax = as->attr_type->oa_syntax;
- for ( i = 0; bvals[i] != NULL; i++ ) {
- AttributeValue av;
- int t61str, ncomp;
- char *sval, *s, *news, *n;
-
- if ( syntax == ldap_jpeg_syntax ||
- syntax == ldap_jpeg_nonfile_syntax ||
- syntax == ldap_octetstring_syntax ||
- syntax == ldap_audio_syntax ) {
- if (( av = bv_octet2AttrV( bvals[i] )) == NULLAttrV ) {
- send_ldap_msgresult( clientsb, op, m,
- LDAP_INVALID_SYNTAX, NULL, type );
- as_free( as );
- return( NULLATTR );
- }
- } else if ( syntax == ldap_photo_syntax ) {
- if (( av = bv_asn2AttrV( bvals[i] )) == NULLAttrV ) {
- send_ldap_msgresult( clientsb, op, m,
- LDAP_INVALID_SYNTAX, NULL, type );
- as_free( as );
- return( NULLATTR );
- }
- } else {
-
- if (( sval = malloc( bvals[i]->bv_len + 1 )) == NULL ) {
- send_ldap_msgresult( clientsb, op, m,
- LDAP_OPERATIONS_ERROR, NULL,
- "Malloc error" );
- return( NULLATTR );
- }
- SAFEMEMCPY( sval, bvals[i]->bv_val, bvals[i]->bv_len );
- sval[ bvals[i]->bv_len ] = '\0';
-
- /* dang quipu - there's no need for this! */
- if ( syntax == ldap_postaladdress_syntax ) {
- t61str = 0;
- ncomp = 1;
- for ( s = sval; *s; s++ ) {
- if ( *s == '$' ) {
- ncomp++;
- continue;
- }
-#define ist61(c) (!isascii(c) || !isalnum(c) \
- && c != 047 && c != '(' && c != ')' \
- && c != '+' && c != '-' && c != '.' && c != ',' \
- && c != '/' && c != ':' && c != '=' && c != '?' \
- && c != ' ')
- if ( ist61( *s ) )
- t61str = 1;
- }
-#define T61MARK "{T.61}"
-#define T61MARKLEN 6
- if ( t61str ) {
- news = malloc( strlen(sval) +
- ncomp * T61MARKLEN + 1 );
- strcpy( news, T61MARK );
- for ( n = news + T61MARKLEN, s = sval;
- *s; n++, s++ ) {
- *n = *s;
- if ( *s == '$' ) {
- strcpy( ++n, T61MARK );
- n += T61MARKLEN - 1;
- }
- }
- *n = '\0';
- free( sval );
- sval = news;
- }
-
- av = str_at2AttrV( sval, as->attr_type );
- } else if ( syntax == ldap_dn_syntax ) {
- av = ldap_strdn2AttrV( sval );
- } else if ( i != 0 && syntax == ldap_acl_syntax ) {
- (void) (*merge_acl)( as->attr_value, sval );
- free( sval );
- continue;
- } else {
- av = ldap_str_at2AttrV( sval, as->attr_type );
- }
-
- if ( av == NULLAttrV ) {
- send_ldap_msgresult( clientsb, op, m,
- LDAP_INVALID_SYNTAX, NULL, sval );
- free( sval );
- as_free( as );
- return( NULLATTR );
- }
-
- free( sval );
- }
- as->attr_value = avs_merge( as->attr_value,
- avs_comp_new( av ) );
- }
-
- return( as );
-}
-
-void
-modify_result( Sockbuf *sb, struct msg *m )
-{
- send_ldap_msgresult( sb, MODTAG, m, LDAP_SUCCESS, NULL, "" );
-
- return;
-}
-
-void
-modlist_free( LDAPModList *mods )
-{
- LDAPModList *next;
-
- for ( ; mods != NULL; mods = next ) {
- free( mods->m.mod_type );
- if ( mods->m.mod_bvalues != NULL )
- ber_bvecfree( mods->m.mod_bvalues );
- next = mods->mod_next;
- free( mods );
- }
-}
-
-/*
- * called when mod is replace to optimize by only deleting old values
- * that are not in the new set and by only adding what isn't in old set
- */
-
-static int
-replace_mod(
- struct entrymod *rem,
- Attr_Sequence oas,
- Attr_Sequence nas
-)
-{
- AV_Sequence oavs, navs, davs, prev_navs, tmp;
-#ifdef LDAP_DEBUG
- PS ps;
-
- ps = ps_alloc( std_open );
- std_setup( ps, stderr );
-
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- ps_print( ps, "replace_mod(" );
- AttrT_print( ps, oas->attr_type, EDBOUT );
- ps_print( ps, ")\n" );
- }
-#endif
-
- davs = NULL;
- for ( oavs = oas->attr_value; oavs != NULL; oavs = oavs->avseq_next ) {
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- ps_print( ps, "old value " );
- AttrV_print( ps, &oavs->avseq_av, EDBOUT );
- ps_print( ps, "\n" );
- }
-#endif
-
- prev_navs = NULL;
- for ( navs = nas->attr_value; navs != NULL;
- prev_navs = navs, navs = navs->avseq_next ) {
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- ps_print( ps, "\tnew value " );
- AttrV_print( ps, &navs->avseq_av, EDBOUT );
- ps_print( ps, "\n" );
- }
-#endif
- if ( AttrV_cmp( &oavs->avseq_av, &navs->avseq_av)
- == 0) {
- break;
- }
- }
-
- if ( navs == NULL ) { /* value to delete */
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- ps_print( ps, "value to delete " );
- AttrV_print( ps, &oavs->avseq_av, EDBOUT );
- ps_print( ps, "\n" );
- }
-#endif
- if ( davs == NULL ) {
- davs = avs_comp_cpy( oavs );
- } else {
- tmp = avs_comp_cpy( oavs );
- tmp->avseq_next = davs;
- davs = tmp;
- }
- } else { /* value to keep */
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- ps_print( ps, "value to leave alone " );
- AttrV_print( ps, &oavs->avseq_av, EDBOUT );
- ps_print( ps, "\n" );
- }
-#endif
- if ( prev_navs == NULL ) {
- nas->attr_value = navs->avseq_next;
- } else {
- prev_navs->avseq_next = navs->avseq_next;
- }
- avs_comp_free( navs );
- }
- }
-
- if ( davs == NULL && nas->attr_value == NULL ) {
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- ps_print( ps, " nothing to do" );
- }
-#endif
- rem->em_what = NULL;
- } else {
- /* Must add new values before removing old values.
- * Otherwise, removing all existing values causes the
- * attribute to be removed such that subsequent add values
- * fail.
- */
- if ( nas->attr_value != NULL ) { /* add new values */
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- AttrT_print( ps, nas->attr_type, EDBOUT );
- ps_print( ps, ": some to add\n" );
- }
-#endif
- rem->em_type = EM_ADDVALUES;
- rem->em_what = nas;
- rem->em_next = NULLMOD;
- }
-
- if ( davs != NULL ) { /* delete old values */
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- AttrT_print( ps, nas->attr_type, EDBOUT );
- ps_print( ps, ": some to delete\n" );
- }
-#endif
- if ( nas->attr_value != NULL ) {
- rem->em_next = (struct entrymod *) calloc( 1,
- sizeof(struct entrymod) );
- rem = rem->em_next;
- }
- rem->em_type = EM_REMOVEVALUES;
- rem->em_what = as_comp_new( NULLAttrT, NULLAV,
- NULLACL_INFO );
- rem->em_what->attr_type = AttrT_cpy( nas->attr_type );
- rem->em_what->attr_value = davs;
- }
- }
-
- return( 0 );
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/socket.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/modifyrdn.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-#ifdef LDAP_COMPAT20
-#define MODRDNTAG (ldap_compat == 20 ? OLD_LDAP_RES_MODRDN : LDAP_RES_MODRDN)
-#else
-#define MODRDNTAG LDAP_RES_MODRDN
-#endif
-
-int
-do_modrdn(
- Sockbuf *clientsb,
- struct msg *m,
- BerElement *ber
-)
-{
- char *dn, *newrdn;
- int rc, deleteoldrdn;
- struct ds_modifyrdn_arg ma;
- static CommonArgs common = default_common_args;
-
- Debug( LDAP_DEBUG_TRACE, "do_modrdn\n", 0, 0, 0 );
-
- /*
- * Parse the modrdn request. It looks like this:
- * ModifyRDNRequest := SEQUENCE {
- * entry DistinguishedName,
- * newrdn RelativeDistinguishedName
- * }
- */
-
-#if ISODEPACKAGE == IC
-#if ICRELEASE > 2
- DAS_ModifyDnArgument_INIT( &ma );
-#endif
-#endif
-
- if ( ber_scanf( ber, "{aa", &dn, &newrdn ) == LBER_ERROR ) {
- Debug( LDAP_DEBUG_ANY, "ber_scanf failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, MODRDNTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "" );
- return( 0 );
- }
-
- deleteoldrdn = 1;
- if ( ber_scanf( ber, "b", &deleteoldrdn ) == LBER_ERROR ) {
- Debug( LDAP_DEBUG_ANY, "found old modrdn\n", 0, 0, 0 );
- }
-
- Debug( LDAP_DEBUG_ARGS,
- "do_modrdn: dn (%s) newrdn (%s) deleteoldrdn (%d)\n", dn, newrdn,
- deleteoldrdn );
-
- ma.mra_object = ldap_str2dn( dn );
- free( dn );
- if ( ma.mra_object == NULLDN ) {
- Debug( LDAP_DEBUG_ANY, "ldap_str2dn failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, MODRDNTAG, m,
- LDAP_INVALID_DN_SYNTAX, NULL, "" );
- return( 0 );
- }
-
- ma.mra_newrdn = ldap_str2rdn( newrdn );
- free( newrdn );
- if ( ma.mra_newrdn == NULLRDN ) {
- Debug( LDAP_DEBUG_ANY, "str2rdn failed\n", 0, 0, 0 );
- send_ldap_msgresult( clientsb, MODRDNTAG, m,
- LDAP_INVALID_DN_SYNTAX, NULL, "Bad RDN" );
- return( 0 );
- }
- ma.deleterdn = (deleteoldrdn ? 1 : 0);
-
- ma.mra_common = common; /* struct copy */
-
- rc = initiate_dap_operation( OP_MODIFYRDN, m, &ma );
-
- dn_free( ma.mra_object );
- rdn_free( ma.mra_newrdn );
-
- if ( rc != 0 ) {
- send_ldap_msgresult( clientsb, MODRDNTAG, m, rc, NULL, "" );
- return( 0 );
- }
-
- return( 1 );
-}
-
-void
-modrdn_result( Sockbuf *sb, struct msg *m )
-{
- send_ldap_msgresult( sb, MODRDNTAG, m, LDAP_SUCCESS, NULL, "" );
-
- return;
-}
+++ /dev/null
-/* $OpenLDAP$ */
-#ifndef _PROTO_LDAPD_H
-#define _PROTO_LDAPD_H
-
-#include <ldap_cdefs.h>
-
-/*
- * abandon.c
- */
-
-int do_abandon LDAP_P(( struct conn *dsaconn, BerElement *ber, int msgid ));
-
-/*
- * add.c
- */
-
-int do_add LDAP_P(( Sockbuf *clientsb, struct msg *m, BerElement *ber ));
-void add_result LDAP_P(( Sockbuf *sb, struct msg *m ));
-
-/*
- * association.c
- */
-
-struct conn *conn_dup LDAP_P(( struct conn *cn ));
-int conn_init LDAP_P(( void ));
-void conn_free LDAP_P(( struct conn *conn ));
-void conn_del LDAP_P(( struct conn *conn ));
-void conn_setfds LDAP_P(( fd_set *fds ));
-void conn_badfds LDAP_P(( void ));
-struct conn *conn_getfd LDAP_P(( fd_set *fds ));
-void conn_add LDAP_P(( struct conn *new ));
-struct conn *conn_find LDAP_P(( struct conn *c ));
-void conn_close LDAP_P(( void ));
-int isclosed LDAP_P(( int ad ));
-
-/*
- * bind.c
- */
-
-int do_bind LDAP_P(( Sockbuf *clientsb, struct msg *m, BerElement *ber, int *bound ));
-int do_bind_real LDAP_P(( struct conn *dsaconn, int *bound, char **matched ));
-
-/*
- * certificate.c
- */
-
-int ldap_certif_print LDAP_P(( PS ps, struct certificate *parm, int format ));
-void ldap_print_algid LDAP_P(( PS ps, struct alg_id *parm, int format ));
-struct certificate *ldap_str2cert LDAP_P(( char *str ));
-void ldap_str2alg LDAP_P(( char *str, struct alg_id *alg ));
-void certif_init LDAP_P(( void ));
-
-/*
- * compare.c
- */
-
-struct ds_compare_result;
-int do_compare LDAP_P(( Sockbuf *clientsb, struct msg *m, BerElement *ber ));
-void compare_result LDAP_P(( Sockbuf *sb, struct msg *m,
- struct ds_compare_result *cr ));
-
-/*
- * delete.c
- */
-
-int do_delete LDAP_P(( Sockbuf *clientsb, struct msg *m, BerElement *ber ));
-void delete_result LDAP_P(( Sockbuf *sb, struct msg *m ));
-
-/*
- * error.c
- */
-
-void print_error LDAP_P(( struct DSError *e ));
-int x500err2ldaperr LDAP_P(( struct DSError *e, char **matched ));
-
-/*
- * kerberos.c
- */
-
-struct ds_bind_arg;
-int kerberosv4_ldap_auth LDAP_P(( char *cred, long len ));
-int kerberosv4_bindarg LDAP_P(( struct ds_bind_arg *ba, DN dn, char *cred,
- long len, u_long *nonce ));
-int kerberos_check_mutual LDAP_P(( struct ds_bind_arg *res, u_long nonce ));
-
-/*
- * main.c
- */
-
-RETSIGTYPE log_and_exit LDAP_P(( int exitcode )) LDAP_GCCATTR((noreturn));
-
-/*
- * message.c
- */
-
-struct msg *add_msg LDAP_P(( int msgid, int msgtype, BerElement *ber,
- struct conn *dsaconn, int udp, struct sockaddr *clientaddr ));
-struct msg *get_msg LDAP_P(( int uniqid ));
-int del_msg LDAP_P(( struct msg *m ));
-void send_msg LDAP_P(( struct conn *conn, Sockbuf *clientsb, int err, char *str ));
-struct msg * get_cldap_msg LDAP_P(( int msgid, int msgtype, struct sockaddr *fromaddr ));
-
-/*
- * modify.c
- */
-
-struct ds_read_result;
-int do_modify LDAP_P(( Sockbuf *clientsb, struct msg *m, BerElement *ber ));
-int do_modify2 LDAP_P((Sockbuf *sb, struct msg *m, struct ds_read_result *rr));
-Attr_Sequence get_as LDAP_P(( Sockbuf *clientsb, unsigned long op, struct msg *m,
- char *type, struct berval **bvals ));
-void modify_result LDAP_P(( Sockbuf *sb, struct msg *m ));
-void modlist_free LDAP_P(( LDAPModList *mods ));
-
-/*
- * modrdn.c
- */
-
-int do_modrdn LDAP_P(( Sockbuf *clientsb, struct msg *m, BerElement *ber ));
-void modrdn_result LDAP_P((Sockbuf *sb, struct msg *m));
-
-/*
- * request.c
- */
-
-void client_request LDAP_P(( Sockbuf *clientsb, struct conn *dsaconn, int udp ));
-int do_request LDAP_P(( Sockbuf *clientsb, struct msg *m, BerElement *ber,
- int *bound ));
-int initiate_dap_operation LDAP_P(( int op, struct msg *m, void *arg ));
-#ifdef LDAP_DEBUG
-int trace_ber LDAP_P(( int tag, int len, char *ber,
- FILE *trace_file, int prepend, int read_pdu ));
-#endif
-
-/*
- * result.c
- */
-
-void dsa_response LDAP_P(( struct conn *dsaconn, Sockbuf *clientsb ));
-int send_ldap_msgresult LDAP_P(( Sockbuf *sb, unsigned long tag, struct msg *m,
- int err, char *matched, char *text ));
-int send_ldap_result LDAP_P(( Sockbuf *sb, unsigned long tag, int msgid, int err,
- char *matched, char *text ));
-
-/*
- * search.c
- */
-
-struct ds_search_result;
-int do_search LDAP_P(( Sockbuf *clientsb, struct msg *m, BerElement *ber ));
-void search_result LDAP_P(( Sockbuf *sb, struct msg *m,
- struct ds_search_result *sr ));
-
-
-/*
- * syntax.c
- */
-
-void get_syntaxes LDAP_P(( void ));
-int dn_print_real LDAP_P(( PS ps, DN dn, int format));
-void ldap_dn_print LDAP_P(( PS ps, DN dn, DN base, int format));
-int encode_dn LDAP_P(( BerElement *ber, DN dn, DN base));
-int encode_attrs LDAP_P(( BerElement *ber, Attr_Sequence as ));
-AttributeValue bv_octet2AttrV LDAP_P(( struct berval *bv ));
-AttributeValue bv_asn2AttrV LDAP_P(( struct berval *bv ));
-AttributeValue ldap_strdn2AttrV LDAP_P(( char *dnstr ));
-DN ldap_str2dn LDAP_P(( char *str ));
-RDN ldap_str2rdn LDAP_P(( char *rdnstr ));
-AttributeValue ldap_str_at2AttrV LDAP_P(( char *str, AttributeType type ));
-AttributeValue ldap_str2AttrV LDAP_P(( char *value, short syntax ));
-
-/*
- * util.c
- */
-
-void bprint LDAP_P(( char *data, int len ));
-void charlist_free LDAP_P(( char **cl ));
-int get_ava LDAP_P(( BerElement *ber, AVA *tava ));
-int chase_referral LDAP_P(( Sockbuf *clientsb, struct msg *m, struct DSError *err,
- char **matched ));
-
-#endif /* _proto_ldapd */
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/signal.h>
-#include <ac/socket.h>
-#include <ac/string.h>
-#include <ac/syslog.h>
-#include <ac/time.h>
-#include <ac/wait.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/ds_error.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-#ifdef PEPSY_DUMP
-#ifndef DEBUG
-#define DEBUG
-#endif
-#include "LDAP-types.h"
-#if ISODEPACKAGE == IC
-#include <compat/logger.h>
-#else
-#include <logger.h>
-#endif
-#endif
-
-/*
- * client_request - called by do_queries() when there is activity on the
- * client socket. It expects to be able to get an LDAP message from the
- * client socket, parses the first couple of fields, and then calls
- * do_request() to handle the request. If do_request() (or something
- * called by it) returns a response to the client (e.g., in the case of
- * an error), then client_request() is done. If the request is not
- * responded to (and needs a response), it is added to the queue of
- * outstanding requests. It will be responded to later via dsa_response(),
- * once the DSA operation completes.
- */
-
-void
-client_request(
- Sockbuf *clientsb,
- struct conn *dsaconn,
- int udp
-)
-{
- unsigned long tag;
- unsigned long len;
- long msgid;
- BerElement ber, *copyofber;
- struct msg *m;
- static int bound;
-#ifdef LDAP_CONNECTIONLESS
- struct sockaddr_in *sai;
-#endif
- Debug( LDAP_DEBUG_TRACE, "client_request%s\n",
- udp ? " udp" : "", 0, 0 );
-
- /*
- * Get the ldap message, which is a sequence of message id
-
- * and then the actual request choice.
- */
-
- ber_init_w_nullc( &ber, 0 );
- if ( (tag = ber_get_next( clientsb, &len, &ber )) == LBER_DEFAULT ) {
- Debug( LDAP_DEBUG_ANY, "ber_get_next failed\n", 0, 0, 0 );
- log_and_exit( 1 );
- }
-
-#ifdef LDAP_CONNECTIONLESS
- if ( udp && dosyslog ) {
- ber_sockbuf_ctrl( clientsb, LBER_SB_OPT_UDP_GET_SRC,
- (void *)&sai );
- syslog( LOG_INFO, "UDP request from unknown (%s)",
- inet_ntoa( sai->sin_addr ) );
- }
-#endif
-
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_BER )
- trace_ber( tag, len, ber.ber_buf, stderr, 1, 1 );
-#endif
-
-#ifdef LDAP_COMPAT
- /*
- * This tag should be a normal SEQUENCE tag. In release 2.0 this
- * tag is 0x10. In the new stuff this is 0x30. To distinguish
- * between 3.0 and the "correct" stuff, we look for an extra
- * sequence tag after the bind tag.
- */
-
- Debug( LDAP_DEBUG_ANY, "bound %d\n", bound, 0, 0 );
- if ( bound == 0 ) {
- /* check for 2.0 */
- if ( tag == OLD_LDAP_TAG_MESSAGE ) {
- Debug( LDAP_DEBUG_ANY, "version 2.0 detected\n", 0,
- 0, 0 );
- if ( dosyslog ) {
- syslog( LOG_INFO, "old version 2.0 detected" );
- }
- ldap_compat = 20;
- /* check for 3.0 */
- } else {
- BerElement tber;
- unsigned long tlen;
- unsigned long ttag;
-
- tber = ber; /* struct copy */
- /* msgid */
- ttag = ber_skip_tag( &tber, &tlen );
- tber.ber_ptr += tlen;
- /* bind sequence header */
- ttag = ber_skip_tag( &tber, &tlen );
- ttag = ber_peek_tag( &tber, &tlen );
-
- Debug( LDAP_DEBUG_ANY, "checking for 3.0 tag 0x%lx\n",
- ttag, 0, 0 );
- if ( ttag == LBER_SEQUENCE ) {
- Debug( LDAP_DEBUG_ANY, "version 3.0 detected\n",
- 0, 0, 0 );
- if ( dosyslog ) {
- syslog( LOG_INFO,
- "old version 3.0 detected" );
- }
- ldap_compat = 30;
- }
- }
- }
-#endif
-
- if ( ber_get_int( &ber, &msgid ) != LDAP_TAG_MSGID ) {
- send_ldap_result( clientsb, LBER_DEFAULT, msgid,
- LDAP_PROTOCOL_ERROR, NULL, "Not an LDAP message" );
- free( ber.ber_buf );
- return;
- }
-
-#ifdef LDAP_CONNECTIONLESS
- if ( udp ) {
- char *logdn = NULL;
-
- ber_get_stringa( &ber, &logdn );
- if ( logdn != NULL ) {
- if ( dosyslog ) {
- syslog( LOG_INFO, "UDP requestor: %s", logdn );
- }
- Debug( LDAP_DEBUG_ANY, "UDP requestor: %s\n", logdn, 0, 0 );
- free( logdn );
- }
- }
-#endif /* LDAP_CONNECTIONLESS */
-
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 )
- tag = ber_skip_tag( &ber, &len );
- else
-#endif
- tag = ber_peek_tag( &ber, &len );
- if ( !udp && bound == 0 && tag != LDAP_REQ_BIND
-#ifdef LDAP_COMPAT20
- && tag != OLD_LDAP_REQ_BIND
-#endif
- ) {
- send_ldap_result( clientsb, tag, msgid, LDAP_OPERATIONS_ERROR,
- NULL, "Bind operation must come first" );
- free( ber.ber_buf );
- return;
- }
-
-#ifdef LDAP_CONNECTIONLESS
- if (udp && tag != LDAP_REQ_SEARCH && tag != LDAP_REQ_ABANDON ) {
- send_ldap_result( clientsb, tag, msgid, LDAP_OPERATIONS_ERROR,
- NULL, "Only search is supported over UDP/CLDAP" );
- free( ber.ber_buf );
- return;
- }
- ber_sockbuf_ctrl( clientsb, LBER_SB_OPT_UDP_GET_SRC, (void *)&sai );
-
- if ( get_cldap_msg( msgid, tag,
- (struct sockaddr *)sai ) != NULL ) {
- /*
- * duplicate request: toss this one
- */
- Debug( LDAP_DEBUG_TRACE,
- "client_request tossing dup request id %ld from %s\n",
- msgid, inet_ntoa( sai->sin_addr ), 0 );
-
- free( ber.ber_buf );
- return;
- }
-#endif
-
- copyofber = ber_dup( &ber );
-
- m = add_msg( msgid, tag, copyofber, dsaconn, udp,
-#ifdef LDAP_CONNECTIONLESS
- (struct sockaddr *)sai );
-#else
- NULL );
-#endif
-
- /*
- * Call the appropriate routine to handle the request. If it
- * returns a nonzero result, the message requires a response, and
- * so it's left in the queue of outstanding requests, otherwise
- * it's deleted.
- */
-
- if ( do_request( clientsb, m, &ber, &bound ) == 0 ) {
- del_msg( m );
- }
-
- return;
-}
-
-/*
- * do_request - called when a client makes a request, or when a referral
- * error is returned. In the latter case, a connection is made to the
- * referred to DSA, and do_request() is called to retry the operation over
- * that connection. In the former case, do_request() is called to try
- * the operation over the default association.
- */
-
-int
-do_request(
- Sockbuf *clientsb,
- struct msg *m,
- BerElement *ber,
- int *bound
-)
-{
- int resp_required = 0;
-
- Debug( LDAP_DEBUG_TRACE, "do_request\n", 0, 0, 0 );
-
- switch ( m->m_msgtype ) {
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_BIND:
-#endif
- case LDAP_REQ_BIND:
- resp_required = do_bind( clientsb, m, ber, bound );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_UNBIND:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_REQ_UNBIND_30:
-#endif
- case LDAP_REQ_UNBIND:
- conn_close();
- log_and_exit( 0 );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_ADD:
-#endif
- case LDAP_REQ_ADD:
- resp_required = do_add( clientsb, m, ber );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_DELETE:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_REQ_DELETE_30:
-#endif
- case LDAP_REQ_DELETE:
- resp_required = do_delete( clientsb, m, ber );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_MODRDN:
-#endif
- case LDAP_REQ_MODRDN:
- resp_required = do_modrdn( clientsb, m, ber );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_MODIFY:
-#endif
- case LDAP_REQ_MODIFY:
- resp_required = do_modify( clientsb, m, ber );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_COMPARE:
-#endif
- case LDAP_REQ_COMPARE:
- resp_required = do_compare( clientsb, m, ber );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_SEARCH:
-#endif
- case LDAP_REQ_SEARCH:
- resp_required = do_search( clientsb, m, ber );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_ABANDON:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_REQ_ABANDON_30:
-#endif
- case LDAP_REQ_ABANDON:
- resp_required = do_abandon( m->m_conn, ber, m->m_uniqid );
- break;
-
- default:
- Debug( LDAP_DEBUG_ANY, "unknown operation %d\n", m->m_msgtype,
- 0, 0 );
-
- send_ldap_msgresult( clientsb, m->m_msgtype, m,
- LDAP_PROTOCOL_ERROR, NULL, "Unknown request type" );
- break;
- }
-
- return( resp_required );
-}
-
-/*
- * initiate_dap_operation - initiate a dap operation, rebinding and retrying
- * the request if necessary. If the request is successfully initiated, 0 is
- * returned. Otherwise, an indication of the error is returned.
- */
-
-int
-initiate_dap_operation(
- int op,
- struct msg *m,
- void *arg
-)
-{
- char *matched;
- int i, rc, bound = 0;
- struct DAPindication di;
-
- Debug( LDAP_DEBUG_TRACE, "initiate_dap_operation\n", 0, 0, 0 );
-
- if ( m->m_conn->c_ad == -1 && do_bind_real( m->m_conn, &bound,
- &matched ) != LDAP_SUCCESS )
- return( LDAP_UNAVAILABLE );
-
- for ( i = 0; i < 2; i++ ) {
- switch ( op ) {
- case OP_COMPARE:
- rc = DapCompare( m->m_conn->c_ad, m->m_uniqid,
- (struct ds_compare_arg *) arg, &di, ROS_ASYNC );
- break;
-
- case OP_SEARCH:
- rc = DapSearch( m->m_conn->c_ad, m->m_uniqid,
- (struct ds_search_arg *) arg, &di, ROS_ASYNC );
- break;
-
- case OP_ADDENTRY:
- rc = DapAddEntry( m->m_conn->c_ad, m->m_uniqid,
- (struct ds_addentry_arg *) arg, &di, ROS_ASYNC );
- break;
-
- case OP_REMOVEENTRY:
- rc = DapRemoveEntry( m->m_conn->c_ad, m->m_uniqid,
- (struct ds_removeentry_arg *) arg, &di, ROS_ASYNC );
- break;
-
- case OP_MODIFYENTRY:
- rc = DapModifyEntry( m->m_conn->c_ad, m->m_uniqid,
- (struct ds_modifyentry_arg *) arg, &di, ROS_ASYNC );
- break;
-
- case OP_READ:
- rc = DapRead( m->m_conn->c_ad, m->m_uniqid,
- (struct ds_read_arg *) arg, &di, ROS_ASYNC );
- break;
-
- case OP_MODIFYRDN:
- rc = DapModifyRDN( m->m_conn->c_ad, m->m_uniqid,
- (struct ds_modifyrdn_arg *) arg, &di, ROS_ASYNC );
- break;
-
- default:
- break;
- }
-
- Debug( LDAP_DEBUG_TRACE, "operation initiated %d\n", rc, 0,
- 0 );
-
- if ( rc == OK )
- return( 0 );
-
- /*
- * the operation was not invoked - try rebinding, then
- * try it again.
- */
-
- (void) dap_unbind( m->m_conn->c_ad );
-
- if ( do_bind_real( m->m_conn, &bound, &matched )
- != LDAP_SUCCESS )
- break;
- }
-
- m->m_conn->c_ad = -1;
-
- return( LDAP_UNAVAILABLE ); /* DSA was unreachable */
-}
-
-#ifdef LDAP_DEBUG
-int
-trace_ber(
- int tag,
- int len,
- char *ber,
- FILE *trace_file,
- int prepend,
- int read_pdu /* If non-zero, PDU was read from client. 0 == PDU is being written */
-)
-{
- unsigned char *buf;
- PS input_ps = NULLPS;
- PE pe;
- int result = -1;
-
- Debug( LDAP_DEBUG_TRACE, "trace_ber(tag=%#x, ber=%#lx, len=%d)\n", tag,
- (unsigned long) ber, len );
-
- if ( (buf = (unsigned char *) malloc( len + 6 )) == NULL ) {
- fprintf( trace_file, "Unable to allocate memory\n" );
- } else {
- if ( prepend ) {
- buf[0] = tag;
- buf[1] = 0x84;
- buf[2] = len >> 24;
- buf[3] = len >> 16;
- buf[4] = len >> 8;
- buf[5] = len;
- SAFEMEMCPY( buf + 6, ber, len );
- } else {
- SAFEMEMCPY( buf, ber, len );
- }
- if ( (input_ps = ps_alloc( str_open )) == NULLPS )
- fprintf( trace_file, "ps_alloc failed\n" );
- else if ( str_setup( input_ps, (char *)buf, len + 6, 1 ) != OK )
- fprintf( trace_file, "str_setup\n" );
- else if ( (pe = ps2pe( input_ps )) == NULLPE ) {
- fprintf(trace_file, "ps2pe: %s\n",
- ps_error( input_ps->ps_errno ) );
- ber_bprint( (char *) buf, len + 6 );
- } else {
-#ifdef PEPSY_DUMP
- int failed = 0;
- static LLog log = {
- "-", NULLCP, NULLCP, LLOG_PDUS,
- LLOG_NONE, -1, 0, NOTOK
- };
- struct type_LDAP_LDAPMessage *ldap_msg = NULL;
-
- if ( decode_LDAP_LDAPMessage(pe, 1, 0, NULL, &ldap_msg)
- == -1 ) {
- failed = 1;
- fprintf( trace_file,
- "Error decoding LDAPMessage:\n [%s]\n",
- PY_pepy );
- fprintf( trace_file, "Here is the PDU:\n" );
- vsetfp( trace_file, NULL );
- vunknown( pe );
- }
- if (log.ll_events & LLOG_PDUS) {
- pvpdu (&log, print_LDAP_LDAPMessage_P, pe,
- failed ?
- "<Bad LDAPMessage>" : "<LDAPMessage>",
- read_pdu);
- }
-/*
- PLOGP(&log, LDAP_LDAPMessage, pe, failed ? "<Bad LDAPMessage>" : "<LDAPMessage>", read_pdu);
-*/
- if (ldap_msg)
- free_LDAP_LDAPMessage(ldap_msg);
-#else
- vsetfp( trace_file, NULL );
- vunknown( pe );
-#endif
- pe_free( pe );
- result = 0;
- }
- free( buf );
- }
-
- if ( input_ps )
- ps_free( input_ps );
-
- return( result );
-}
-#endif
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/socket.h>
-#include <ac/string.h>
-#include <ac/syslog.h>
-
-#include <quipu/dsap.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-/*
- * dsa_response - called by do_queries() when there is activity on one of
- * the DSA associations. It is passed the association descriptor on which
- * the activity occurred, and the client socket. It figures out what kind
- * of activity it was (e.g., result of a previously initiated operation,
- * error return, etc), and calls the appropriate routine to send a response
- * to the client, or to continue the operation in some cases (e.g., modify),
- * or to chase a referral and retry an operation.
- *
- * If the client is actually given a response, dsa_response() removes the
- * corresponding request from the queue of outstanding requests. If the
- * activity was an error referral, a connection is made to the referred to
- * DSA (if possible), and do_request() is called to retry the request.
- */
-
-void
-dsa_response(
- struct conn *dsaconn,
- Sockbuf *clientsb
-)
-{
- struct DAPindication di;
- struct DSResult *dr;
- struct DSError *de;
- struct DAPpreject *dp;
- struct DAPabort *da;
- struct msg *m = NULL;
- BerElement *bercopy;
- char *matched;
- int incr, delete, rc, ldaperr;
-
- Debug( LDAP_DEBUG_TRACE, "dsa_response on ad %d\n", dsaconn->c_ad, 0,
- 0 );
- di.di_type = -1;
- if ( (rc = DapInitWaitRequest( dsaconn->c_ad, OK, &di )) == DONE ) {
- Debug( LDAP_DEBUG_ANY, "DapInitWaitRequest: DONE\n", 0, 0, 0 );
- return;
- }
-
- Debug( LDAP_DEBUG_ARGS, "DapInitWaitRequest: result %d type %d\n", rc,
- di.di_type, 0 );
-
- delete = 1;
- switch ( di.di_type ) {
- case DI_RESULT:
- dr = &di.di_result.dr_res;
- if ( (m = get_msg( di.di_result.dr_id )) == NULL ) {
- Debug( LDAP_DEBUG_ANY, "DI_RESULT: can't find msg %d\n",
- di.di_result.dr_id, 0, 0 );
- return;
- }
-
- Debug( LDAP_DEBUG_ARGS, "DI_RESULT: type %d\n",
- dr->result_type, 0, 0 );
-
- switch ( dr->result_type ) {
- case OP_COMPARE:
- compare_result( clientsb, m, &dr->res_cm );
- break;
-
- case OP_SEARCH:
- search_result( clientsb, m, &dr->res_sr );
- break;
-
- case OP_ADDENTRY:
- add_result( clientsb, m );
- break;
-
- case OP_REMOVEENTRY:
- delete_result( clientsb, m );
- break;
-
- case OP_MODIFYENTRY:
- modify_result( clientsb, m );
- break;
-
- case OP_READ:
- if ( do_modify2( clientsb, m, &dr->res_rd ) != 0 )
- delete = 0;
- break;
-
- case OP_MODIFYRDN:
- modrdn_result( clientsb, m );
- break;
-
- default:
- break;
- }
- ds_res_free( dr );
- break;
-
- case DI_ERROR:
- de = &di.di_error.de_err;
- if ( (m = get_msg( di.di_error.de_id )) == NULL ) {
- Debug( LDAP_DEBUG_ANY, "DI_ERROR: can't find msg %d\n",
- di.di_error.de_id, 0, 0 );
- return;
- }
- if ( m->m_msgtype == LDAP_REQ_SEARCH
-#ifdef LDAP_COMPAT20
- || m->m_msgtype == OLD_LDAP_REQ_SEARCH
-#endif
- )
- incr = 2;
- else if ( m->m_msgtype == LDAP_REQ_DELETE )
- incr = (LDAP_RES_DELETE - LDAP_REQ_DELETE);
- else
- incr = 1;
-
- Debug( LDAP_DEBUG_ARGS, "DI_ERROR\n", 0, 0, 0 );
-
- /*
- * chase down referrals, retry operation there. only do
- * this for modify-like operations, since we assume the
- * dsa should have been able to chase anything else that
- * wasn't really down.
- */
-
- if ( de->dse_type == DSE_REFERRAL ) {
- int bound, rc;
-
- switch ( m->m_msgtype ) {
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_REQ_ADD:
- case OLD_LDAP_REQ_MODIFY:
- case OLD_LDAP_REQ_MODRDN:
- case OLD_LDAP_REQ_DELETE:
- case OLD_LDAP_REQ_COMPARE:
- case OLD_LDAP_REQ_SEARCH:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_REQ_DELETE_30:
-#endif
- case LDAP_REQ_ADD:
- case LDAP_REQ_MODIFY:
- case LDAP_REQ_MODRDN:
- case LDAP_REQ_DELETE:
- case LDAP_REQ_COMPARE:
- case LDAP_REQ_SEARCH:
- /* chase down the referral */
- if ( (rc = chase_referral( clientsb, m, de,
- &matched )) != LDAP_SUCCESS ) {
- send_ldap_msgresult( clientsb,
- m->m_msgtype + incr, m, rc,
- matched, "Can't chase referral" );
- free( matched );
- break;
- }
-
- /* now retry the operation */
- bercopy = ber_dup( m->m_ber );
- if ( do_request( clientsb, m, bercopy, &bound )
- == 0 ) {
- del_msg( m );
- }
- ber_free( bercopy, 0 );
- return;
- break;
-
- default:
- send_ldap_msgresult( clientsb, m->m_msgtype +
- incr, m, LDAP_UNAVAILABLE, NULL, "" );
- break;
- }
- break;
- } else if ( de->dse_type == DSE_ABANDONED ) {
- return;
- }
-
-
- /* not a referral - convert the error and return to client */
- ldaperr = x500err2ldaperr( de, &matched );
-#ifdef LDAP_DEBUG
- if ( ldap_debug )
- print_error( de ); /* prints, then calls free */
- else
-#endif
- ds_error_free( de );
-
- send_ldap_msgresult( clientsb, m->m_msgtype + incr, m,
- ldaperr, matched, "" );
- free( matched );
- break;
-
- case DI_PREJECT:
- dp = &di.di_preject;
- if ( (m = get_msg( dp->dp_id )) == NULL ) {
- Debug(LDAP_DEBUG_ANY, "DI_PREJECT: can't find msg %d\n",
- dp->dp_id, 0, 0 );
- return;
- }
-
- Debug( LDAP_DEBUG_ARGS, "DI_PREJECT src %d rson %d inf (%s)\n",
- dp->dp_source, dp->dp_reason, dp->dp_cc ? dp->dp_data
- : "" );
-
- send_ldap_msgresult( clientsb, m->m_msgtype, m,
- LDAP_UNAVAILABLE, NULL, "Got PREJECT from X.500" );
-
- dsaconn->c_ad = -1;
- break;
-
- case DI_ABORT:
- da = &di.di_abort;
-
- Debug( LDAP_DEBUG_ARGS, "DI_ABORT src %d rson %d inf (%s)\n",
- da->da_source, da->da_reason, da->da_cc ? da->da_data
- : "" );
-
- /* assume this always means more stuff coming... */
- if ( da->da_reason == DA_ROS )
- return;
-
- /* moby hack - but how else do you tell the difference? */
- if ( isclosed( dsaconn->c_ad ) ) {
- send_msg( dsaconn, clientsb, LDAP_UNAVAILABLE,
- "Got ABORT from X.500" );
- return;
- }
-
- /* notify outstanding requests of the failure */
- send_msg( dsaconn, clientsb, LDAP_OPERATIONS_ERROR,
- "Got unknown ABORT from X.500" );
-
- dsaconn->c_ad = -1;
- return;
- break;
-
- default:
- Debug( LDAP_DEBUG_ANY, "unknown result type %d\n", di.di_type,
- 0, 0 );
-
- dsaconn->c_ad = -1; /* better safe... */
- return;
- break;
- }
-
- if ( delete && m != NULL )
- del_msg( m );
-}
-
-int
-send_ldap_msgresult(
- Sockbuf *sb,
- unsigned long tag,
- struct msg *m,
- int err,
- char *matched,
- char *text
-)
-{
-#ifdef LDAP_CONNECTIONLESS
- if ( m->m_cldap ) {
- ber_sockbuf_ctrl( sb, LBER_SB_OPT_UDP_SET_DST,
- (void *)&m->m_clientaddr );
-
- Debug( LDAP_DEBUG_TRACE, "UDP response to %s port %d\n",
- inet_ntoa(((struct sockaddr_in *)
- &m->m_clientaddr)->sin_addr ),
- ((struct sockaddr_in *)&m->m_clientaddr)->sin_port, 0 );
- }
-#endif
- return( send_ldap_result( sb, tag, m->m_msgid, err, matched, text ) );
-}
-
-int
-send_ldap_result(
- Sockbuf *sb,
- unsigned long tag,
- int msgid,
- int err,
- char *matched,
- char *text
-)
-{
- BerElement *ber;
- int rc;
-#ifdef LDAP_CONNECTIONLESS
- int cldap;
- cldap = ber_sockbuf_ctrl( sb, LBER_SB_OPT_HAS_IO, &ber_sockbuf_io_udp );
-#endif
-
- Debug( LDAP_DEBUG_TRACE, "send_ldap_result\n", 0, 0, 0 );
-
- if ( tag == LBER_DEFAULT )
-#ifdef LDAP_COMPAT20
- tag = ldap_compat == 20 ? OLD_LBER_SEQUENCE : LBER_SEQUENCE;
-#else
- tag = LBER_SEQUENCE;
-#endif
-
- if ( (ber = der_alloc()) == NULL ) {
- Debug( LDAP_DEBUG_ANY, "der_alloc failed\n", 0, 0, 0 );
- return( -1 );
- }
-
- if ( version != 1 ) {
-#ifdef LDAP_COMPAT20
- if ( ldap_compat == 20 ) {
- rc = ber_printf( ber, "t{it{tess}}", OLD_LBER_SEQUENCE,
- msgid, tag, LBER_INTEGER, err,
- matched ? matched : "", text );
- } else
-#endif
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 ) {
- rc = ber_printf( ber, "{it{{ess}}}", msgid, tag, err,
- matched ? matched : "", text );
- } else
-#endif
-#ifdef LDAP_CONNECTIONLESS
- if ( cldap ) {
- rc = ber_printf( ber, "{is{t{ess}}}", msgid, "", tag,
- err, matched ? matched : "", text );
- } else
-#endif
- rc = ber_printf( ber, "{it{ess}}", msgid, tag, err, matched ?
- matched : "", text );
- } else {
- /* version 1 always uses the broken stuff */
- rc = ber_printf( ber, "t{it{is}}", OLD_LBER_SEQUENCE, msgid,
- tag, err, text );
- }
-
- if ( rc == -1 ) {
- Debug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
- return( -1 );
- }
-
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_BER )
- trace_ber( 0, ber->ber_ptr - ber->ber_buf, ber->ber_buf,
- stderr, 0, 0 );
-#endif
-
- if ( ber_flush( sb, ber, 1 ) != 0 ) {
- Debug( LDAP_DEBUG_ANY, "ber_flush failed\n", 0, 0, 0 );
- return( -1 );
- }
-
- return( 0 );
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/socket.h>
-#include <ac/string.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/ds_search.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-static int get_filter( BerElement *ber, Filter *filt );
-static int get_filter_list( BerElement *ber, Filter f );
-static int get_substring_filter( BerElement *ber, Filter f );
-
-#ifdef LDAP_COMPAT
-#define SEARCHRESTAG (ldap_compat == 20 ? OLD_LDAP_RES_SEARCH_RESULT : LDAP_RES_SEARCH_RESULT)
-#else
-#define SEARCHRESTAG LDAP_RES_SEARCH_RESULT
-#endif
-
-int
-do_search(
- Sockbuf *clientsb,
- struct msg *m,
- BerElement *ber
-)
-{
- int rc, err;
- int deref, attrsonly;
- int sizelimit, timelimit;
- char *base;
- char **attrs;
- struct ds_search_arg sa;
- static CommonArgs common = default_common_args;
-
- Debug( LDAP_DEBUG_TRACE, "do_search\n", 0, 0, 0 );
-
- /*
- * Parse the search request. It looks like this:
- * SearchRequest := [APPLICATION 3] SEQUENCE {
- * baseObject DistinguishedName,
- * scope ENUMERATED {
- * baseObject (0),
- * singleLevel (1),
- * wholeSubtree (2)
- * },
- * derefAliases ENUMERATED {
- * neverDerefaliases (0),
- * derefInSearching (1),
- * derefFindingBaseObj (2),
- * alwaysDerefAliases (3)
- * },
- * sizelimit INTEGER (0 .. 65535),
- * timelimit INTEGER (0 .. 65535),
- * attrsOnly BOOLEAN,
- * filter Filter,
- * attributes SEQUENCE OF AttributeType
- * }
- */
-
-#if ISODEPACKAGE == IC
-#if ICRELEASE > 2
- DAS_SearchArgument_INIT( &sa );
-#endif
-#endif
-
- if ( ber_scanf( ber, "{aiiiib", &base, &sa.sra_subset, &deref,
- &sizelimit, &timelimit, &attrsonly ) == LBER_ERROR ) {
- send_ldap_msgresult( clientsb, SEARCHRESTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "" );
- return( 0 );
- }
-
- sa.sra_baseobject = ldap_str2dn( base );
- if ( sa.sra_baseobject == NULLDN && *base != '\0' ) {
- free( base );
- send_ldap_msgresult( clientsb, SEARCHRESTAG, m,
- LDAP_INVALID_DN_SYNTAX, NULL, "" );
- return( 0 );
- }
- free( base );
-
- sa.sra_common = common; /* struct copy */
- sa.sra_searchaliases = (deref == LDAP_DEREF_SEARCHING ||
- deref == LDAP_DEREF_ALWAYS);
- if ( deref == LDAP_DEREF_NEVER || deref == LDAP_DEREF_SEARCHING )
- sa.sra_common.ca_servicecontrol.svc_options |=
- SVC_OPT_DONTDEREFERENCEALIAS;
-
- sa.sra_common.ca_servicecontrol.svc_sizelimit = (sizelimit == 0 ?
- SVC_NOSIZELIMIT : sizelimit);
-
- sa.sra_common.ca_servicecontrol.svc_timelimit = (timelimit == 0 ?
- SVC_NOTIMELIMIT : timelimit);
-
- sa.sra_eis.eis_infotypes = (attrsonly ? EIS_ATTRIBUTETYPESONLY :
- EIS_ATTRIBUTESANDVALUES);
-
- /* search filter */
- if ( (err = get_filter( ber, &sa.sra_filter )) != 0 ) {
- send_ldap_msgresult( clientsb, SEARCHRESTAG, m,
- err, NULL, "Bad search filter" );
- return( 0 );
- }
-
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- PS ps;
-
- ps = ps_alloc( std_open );
- std_setup( ps, stderr );
- ps_print( ps, "Filter: " );
- fi_print( ps, sa.sra_filter, EDBOUT );
- ps_print( ps, "\n" );
- ps_free( ps );
- }
-#endif
-
- /* attrs to return */
- attrs = NULL;
- if ( ber_scanf( ber, "{v}}", &attrs ) == LBER_ERROR ) {
- send_ldap_msgresult( clientsb, SEARCHRESTAG, m,
- LDAP_PROTOCOL_ERROR, NULL, "" );
- return( 0 );
- }
- sa.sra_eis.eis_select = NULLATTR;
- if ( attrs == NULL ) {
- sa.sra_eis.eis_allattributes = 1;
- } else {
- Attr_Sequence as;
- int i;
-
- sa.sra_eis.eis_allattributes = 0;
- for ( i = 0; attrs[i] != NULL; i++ ) {
- AttributeType type;
-
- if ( (type = AttrT_new( attrs[i] )) == NULLAttrT ) {
- Debug( LDAP_DEBUG_TRACE, "unknown attr (%s)\n",
- attrs[i], 0, 0 );
- continue;
- }
-
- as = as_comp_alloc();
- as->attr_type = type;
- as->attr_acl = NULLACL_INFO;
- as->attr_link = NULLATTR;
- as->attr_value = NULLAV;
-
- sa.sra_eis.eis_select = as_merge( as,
- sa.sra_eis.eis_select );
- }
-
- /* complain only if we know about none of the attrs */
- if ( sa.sra_eis.eis_select == NULLATTR ) {
- send_ldap_msgresult( clientsb, SEARCHRESTAG,
- m, LDAP_UNDEFINED_TYPE, NULL, attrs[0] );
- charlist_free( attrs );
- return( 0 );
- }
-
- charlist_free( attrs );
- }
-
- rc = initiate_dap_operation( OP_SEARCH, m, &sa );
-
-#ifdef LDAP_CONNECTIONLESS
- if ( m->m_cldap )
- m->m_searchbase = sa.sra_baseobject;
- else
-#endif /* LDAP_CONNECTIONLESS */
- dn_free( sa.sra_baseobject );
-
- filter_free( sa.sra_filter );
- as_free( sa.sra_eis.eis_select );
-
- if ( rc != 0 ) {
- send_ldap_msgresult( clientsb, SEARCHRESTAG, m,
- rc, NULL, "" );
- return( 0 );
- }
-
- return( 1 );
-}
-
-static int
-get_filter( BerElement *ber, Filter *filt )
-{
- unsigned long tag, len;
- int err;
- char typestr[64];
- Filter f;
-
- Debug( LDAP_DEBUG_TRACE, "get_filter\n", 0, 0, 0 );
-
- /*
- * A filter looks like this coming in:
- * Filter ::= CHOICE {
- * and [0] SET OF Filter,
- * or [1] SET OF Filter,
- * not [2] Filter,
- * equalityMatch [3] AttributeValueAssertion,
- * substrings [4] SubstringFilter,
- * greaterOrEqual [5] AttributeValueAssertion,
- * lessOrEqual [6] AttributeValueAssertion,
- * present [7] AttributeType,,
- * approxMatch [8] AttributeValueAssertion
- * }
- *
- * SubstringFilter ::= SEQUENCE {
- * type AttributeType,
- * SEQUENCE OF CHOICE {
- * initial [0] IA5String,
- * any [1] IA5String,
- * final [2] IA5String
- * }
- * }
- */
-
- f = filter_alloc();
- *filt = f;
- f->flt_next = NULLFILTER;
-
- err = 0;
- switch (tag = ber_peek_tag( ber, &len )) {
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_FILTER_EQUALITY:
-#endif
- case LDAP_FILTER_EQUALITY:
- Debug( LDAP_DEBUG_ARGS, "EQUALITY\n", 0, 0, 0 );
- f->flt_type = FILTER_ITEM;
- f->FUITEM.fi_type = FILTERITEM_EQUALITY;
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 )
- (void) ber_skip_tag( ber, &len );
-#endif
-
- if ( (err = get_ava( ber, &f->FUITEM.UNAVA )) != 0 ) {
- free( f );
- return( err );
- }
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_FILTER_SUBSTRINGS:
-#endif
- case LDAP_FILTER_SUBSTRINGS:
- Debug( LDAP_DEBUG_ARGS, "SUBSTRINGS\n", 0, 0, 0 );
- err = get_substring_filter( ber, f );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_FILTER_GE:
-#endif
- case LDAP_FILTER_GE:
- Debug( LDAP_DEBUG_ARGS, "GE\n", 0, 0, 0 );
- f->flt_type = FILTER_ITEM;
- f->FUITEM.fi_type = FILTERITEM_GREATEROREQUAL;
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 )
- (void) ber_skip_tag( ber, &len );
-#endif
- if ( (err = get_ava( ber, &f->FUITEM.UNAVA )) != 0 ) {
- free( f );
- return( err );
- }
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_FILTER_LE:
-#endif
- case LDAP_FILTER_LE:
- Debug( LDAP_DEBUG_ARGS, "LE\n", 0, 0, 0 );
- f->flt_type = FILTER_ITEM;
- f->FUITEM.fi_type = FILTERITEM_LESSOREQUAL;
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 )
- (void) ber_skip_tag( ber, &len );
-#endif
-
- if ( (err = get_ava( ber, &f->FUITEM.UNAVA )) != 0 ) {
- free( f );
- return( err );
- }
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_FILTER_PRESENT:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_FILTER_PRESENT_30:
-#endif
- case LDAP_FILTER_PRESENT:
- Debug( LDAP_DEBUG_ARGS, "PRESENT\n", 0, 0, 0 );
- f->flt_type = FILTER_ITEM;
- f->FUITEM.fi_type = FILTERITEM_PRESENT;
- len = sizeof(typestr);
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 )
- (void) ber_skip_tag( ber, &len );
-#endif
-
- if ( ber_scanf( ber, "s", typestr, &len ) == LBER_ERROR )
- return( LDAP_PROTOCOL_ERROR );
- if ( (f->FUITEM.UNTYPE = str2AttrT( typestr )) == NULLAttrT )
- return( LDAP_UNDEFINED_TYPE );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_FILTER_APPROX:
-#endif
- case LDAP_FILTER_APPROX:
- Debug( LDAP_DEBUG_ARGS, "APPROX\n", 0, 0, 0 );
- f->flt_type = FILTER_ITEM;
- f->FUITEM.fi_type = FILTERITEM_APPROX;
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 )
- (void) ber_skip_tag( ber, &len );
-#endif
-
- if ( (err = get_ava( ber, &f->FUITEM.UNAVA )) != 0 ) {
- free( f );
- return( err );
- }
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_FILTER_AND:
-#endif
- case LDAP_FILTER_AND:
- Debug( LDAP_DEBUG_ARGS, "AND\n", 0, 0, 0 );
- f->flt_type = FILTER_AND;
- err = get_filter_list( ber, f );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_FILTER_OR:
-#endif
- case LDAP_FILTER_OR:
- Debug( LDAP_DEBUG_ARGS, "OR\n", 0, 0, 0 );
- f->flt_type = FILTER_OR;
- err = get_filter_list( ber, f );
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_FILTER_NOT:
-#endif
- case LDAP_FILTER_NOT:
- Debug( LDAP_DEBUG_ARGS, "NOT\n", 0, 0, 0 );
- f->flt_type = FILTER_NOT;
- (void) ber_skip_tag( ber, &len );
- err = get_filter( ber, &f->FUFILT );
- break;
-
- default:
- Debug( LDAP_DEBUG_ANY, "unknown filter type %lu\n", tag, 0, 0 );
- free( f );
- return( LDAP_PROTOCOL_ERROR );
- break;
- }
-
- Debug( LDAP_DEBUG_TRACE, "end get_filter\n", 0, 0, 0 );
- return( err );
-}
-
-static int
-get_filter_list( BerElement *ber, Filter f )
-{
- Filter new, tail;
- int err;
- unsigned long tag, len;
- char *last;
-
- Debug( LDAP_DEBUG_TRACE, "get_filter_list\n", 0, 0, 0 );
-
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 )
- (void) ber_skip_tag( ber, &len );
-#endif
- f->FUFILT = tail = NULLFILTER;
- for ( tag = ber_first_element( ber, &len, &last ); tag != LBER_DEFAULT;
- tag = ber_next_element( ber, &len, last ) ) {
- if ( (err = get_filter( ber, &new )) != 0 )
- return( err );
-
- if ( f->FUFILT == NULLFILTER ) {
- f->FUFILT = new;
- } else {
- tail->flt_next = new;
- }
- tail = new;
- }
-
- Debug( LDAP_DEBUG_TRACE, "end get_filter_list\n", 0, 0, 0 );
- return( 0 );
-}
-
-static int
-get_substring_filter( BerElement *ber, Filter f )
-{
- unsigned long tag, len;
- char typestr[64];
- AttributeType type;
- char *valstr, *last;
- AttributeValue value;
-
- Debug( LDAP_DEBUG_TRACE, "get_substring_filter\n", 0, 0, 0 );
-
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 )
- (void) ber_skip_tag( ber, &len );
-#endif
-
- f->flt_type = FILTER_ITEM;
- f->FUITEM.fi_type = FILTERITEM_SUBSTRINGS;
- len = sizeof(typestr);
- if ( ber_scanf( ber, "{s", typestr, &len ) == LBER_ERROR ) {
- return( LDAP_PROTOCOL_ERROR );
- }
- if ( (type = str2AttrT( typestr )) == NULLAttrT ) {
- return( LDAP_UNDEFINED_TYPE );
- }
- f->FUITEM.UNSUB.fi_sub_type = type;
- f->FUITEM.UNSUB.fi_sub_initial = NULLAV;
- f->FUITEM.UNSUB.fi_sub_any = NULLAV;
- f->FUITEM.UNSUB.fi_sub_final = NULLAV;
- for ( tag = ber_first_element( ber, &len, &last ); tag != LBER_DEFAULT;
- tag = ber_next_element( ber, &len, last ) ) {
- AV_Sequence avs, any_end;
-
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 ) {
- if ( ber_scanf( ber, "{a}", &valstr ) == LBER_ERROR ) {
- return( LDAP_PROTOCOL_ERROR );
- }
- } else
-#endif
- if ( ber_scanf( ber, "a", &valstr ) == LBER_ERROR ) {
- return( LDAP_PROTOCOL_ERROR );
- }
-
- value = ldap_str2AttrV( valstr, type->oa_syntax );
- free( valstr );
-
- if ( value == NULLAttrV ) {
- return( LDAP_INVALID_SYNTAX );
- }
-
- if ( (avs = avs_comp_new( value )) == NULLAV )
- return( LDAP_OPERATIONS_ERROR );
-
- switch ( tag ) {
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_SUBSTRING_INITIAL:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_SUBSTRING_INITIAL_30:
-#endif
- case LDAP_SUBSTRING_INITIAL:
- Debug( LDAP_DEBUG_ARGS, " INITIAL\n", 0, 0, 0 );
- if ( f->FUITEM.UNSUB.fi_sub_initial != NULLAV
- && f->FUITEM.UNSUB.fi_sub_initial->avseq_next
- != NULLAV ) {
- return( LDAP_PROTOCOL_ERROR );
- }
- f->FUITEM.UNSUB.fi_sub_initial = avs;
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_SUBSTRING_ANY:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_SUBSTRING_ANY_30:
-#endif
- case LDAP_SUBSTRING_ANY:
- Debug( LDAP_DEBUG_ARGS, " ANY\n", 0, 0, 0 );
-
- if (f->FUITEM.UNSUB.fi_sub_any != NULLAV) {
- any_end->avseq_next = avs;
- } else {
- f->FUITEM.UNSUB.fi_sub_any = avs;
- }
-
- any_end = avs;
- break;
-
-#ifdef LDAP_COMPAT20
- case OLD_LDAP_SUBSTRING_FINAL:
-#endif
-#ifdef LDAP_COMPAT30
- case LDAP_SUBSTRING_FINAL_30:
-#endif
- case LDAP_SUBSTRING_FINAL:
- Debug( LDAP_DEBUG_ARGS, " FINAL\n", 0, 0, 0 );
- if ( f->FUITEM.UNSUB.fi_sub_final != NULLAV
- && f->FUITEM.UNSUB.fi_sub_final->avseq_next
- != NULLAV ) {
- return( LDAP_PROTOCOL_ERROR );
- }
- f->FUITEM.UNSUB.fi_sub_final = avs;
- break;
-
- default:
- Debug( LDAP_DEBUG_ARGS, " unknown type\n", tag, 0, 0 );
- return( LDAP_PROTOCOL_ERROR );
- }
- }
-
- Debug( LDAP_DEBUG_TRACE, "end get_substring_filter\n", 0, 0, 0 );
- return( 0 );
-}
-
-void
-search_result(
- Sockbuf *sb,
- struct msg *m,
- struct ds_search_result *sr
-)
-{
- EntryInfo *e;
- BerElement *ber;
- int rc;
-
- Debug( LDAP_DEBUG_TRACE, "search_result\n", 0, 0, 0 );
-
- ber = NULL;
-
- if ( ! sr->srr_correlated ) {
- Debug( LDAP_DEBUG_ARGS, "correlating results\n", 0, 0, 0 );
- correlate_search_results( sr );
- }
-
-#ifdef LDAP_CONNECTIONLESS
- if ( m->m_cldap ) {
- if ((ber = der_alloc()) == NULL ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "der_alloc" );
- return;
- }
- if ( ber_printf( ber, "t{is{", LBER_SEQUENCE, m->m_msgid,
- "" ) == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "ber_printf" );
- return;
- }
- }
-#endif
-
- for ( e = sr->CSR_entries; e != NULLENTRYINFO; e = e->ent_next ) {
- Debug( LDAP_DEBUG_ARGS, "\tentry:\n", 0, 0, 0 );
-
-#ifdef LDAP_CONNECTIONLESS
- if ( !m->m_cldap )
-#endif /* LDAP_CONNECTIONLESS */
-
- if ( (ber = der_alloc()) == NULL ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "der_alloc" );
- return;
- }
-
-#ifdef LDAP_COMPAT20
- if ( version == 1 ) {
- if ( ber_printf( ber, "t{it{", OLD_LBER_SEQUENCE,
- m->m_msgid, OLD_LDAP_RES_SEARCH_ENTRY ) == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "ber_printf" );
- return;
- }
- } else
-#endif
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 ) {
- if ( ber_printf( ber, "{it{{", m->m_msgid,
- LDAP_RES_SEARCH_ENTRY ) == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "ber_printf" );
- return;
- }
- } else
-#endif
-#ifdef LDAP_CONNECTIONLESS
- if ( m->m_cldap )
- rc = ber_printf( ber, "t{", LDAP_RES_SEARCH_ENTRY );
- else
-#endif /* LDAP_CONNECTIONLESS */
- rc = ber_printf( ber, "{it{", m->m_msgid,
- LDAP_RES_SEARCH_ENTRY );
-
- if ( rc == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "ber_printf" );
- return;
- }
-
-#ifdef LDAP_CONNECTIONLESS
- if ( m->m_cldap )
- rc = encode_dn( ber, e->ent_dn, m->m_searchbase );
-#endif /* LDAP_CONNECTIONLESS */
- else
- rc = encode_dn( ber, e->ent_dn, NULLDN );
-
- if ( rc == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "encode_dn" );
- return;
- }
-
- if ( encode_attrs( ber, e->ent_attr ) == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "encode_attrs" );
- return;
- }
-
-#ifdef LDAP_COMPAT20
- if ( version == 1 ) {
- if ( ber_printf( ber, "}}" ) == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL,
- "ber_printf 2" );
- return;
- }
- } else
-#endif
-#ifdef LDAP_COMPAT30
- if ( ldap_compat == 30 ) {
- if ( ber_printf( ber, "}}}" ) == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL,
- "ber_printf 2" );
- return;
- }
- } else
-#endif
-#ifdef LDAP_CONNECTIONLESS
- if ( m->m_cldap )
- rc = ber_printf( ber, "}" );
- else
-#endif /* LDAP_CONNECTIONLESS */
- rc = ber_printf( ber, "}}" );
-
- if ( rc == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "ber_printf 2" );
- return;
- }
-
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_BER )
- trace_ber( 0, ber->ber_ptr - ber->ber_buf,
- ber->ber_buf, stderr, 0, 0 );
-#endif
-
-#ifdef LDAP_CONNECTIONLESS
- if ( !m->m_cldap )
-#endif
- (void) ber_flush( sb, ber, 1 );
- }
-
- switch ( sr->CSR_limitproblem ) {
- case LSR_NOLIMITPROBLEM:
- rc = LDAP_SUCCESS;
- break;
- case LSR_TIMELIMITEXCEEDED:
- rc = LDAP_TIMELIMIT_EXCEEDED;
- break;
- case LSR_SIZELIMITEXCEEDED:
- case LSR_ADMINSIZEEXCEEDED:
- rc = LDAP_SIZELIMIT_EXCEEDED;
- break;
- }
-
- Debug( LDAP_DEBUG_ARGS, "\tresult:\n", 0, 0, 0 );
-
-#ifdef LDAP_CONNECTIONLESS
- if ( m->m_cldap ) {
- if ( ber_printf( ber, "t{ess}}}", SEARCHRESTAG, rc, "", "" )
- == -1 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_OPERATIONS_ERROR, NULL, "ber_printf" );
- return;
- }
- ber_sockbuf_ctrl( sb, LBER_SB_OPT_UDP_SET_DST,
- (void *)&m->m_clientaddr );
-
- if ( ber_flush( sb, ber, 1 ) != 0 ) {
- send_ldap_msgresult( sb, SEARCHRESTAG, m,
- LDAP_RESULTS_TOO_LARGE, NULL, "ber_flush" );
- }
- } else
-#endif
- send_ldap_msgresult( sb, SEARCHRESTAG, m, rc, NULL, "" );
-
- return;
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/ctype.h>
-#include <ac/socket.h>
-#include <ac/string.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/attrvalue.h>
-#include <quipu/ds_error.h>
-#include <quipu/ds_search.h>
-#include <quipu/dap2.h>
-#include <quipu/dua.h>
-extern oid_table_attr *name2attr( char * );
-/*extern AttributeValue str_at2AttrV( char *, IF_AttributeType * );*/
-
-#include "lber.h"
-#include "../../libraries/liblber/lber-int.h" /* get struct berelement */
-#include "ldap.h"
-#include "common.h"
-
-short ldap_photo_syntax;
-short ldap_jpeg_syntax;
-short ldap_jpeg_nonfile_syntax;
-short ldap_audio_syntax;
-short ldap_dn_syntax;
-short ldap_postaladdress_syntax;
-short ldap_acl_syntax;
-short ldap_mtai_syntax;
-short ldap_rts_cred_syntax;
-short ldap_rtl_syntax;
-short ldap_mailbox_syntax;
-short ldap_caseignorelist_syntax;
-short ldap_caseexactstring_syntax;
-short ldap_certif_syntax;
-short ldap_iattr_syntax;
-short ldap_telex_syntax;
-short ldap_octetstring_syntax;
-short ldap_deliverymethod_syntax;
-short ldap_facsimileTelephoneNumber_syntax;
-short ldap_presentationAddress_syntax;
-short ldap_teletexTerminalIdentifier_syntax;
-short ldap_searchGuide_syntax;
-short ldap_dLSubmitPermission_syntax;
-
-static void de_t61( char *s, int t61mark );
-static int syntax_is_string( short syntax );
-
-static int
-get_one_syntax( char *attrib, int required )
-{
- oid_table_attr *p;
-
- if ( (p = name2attr( attrib )) != (oid_table_attr *) 0 )
- return( p->oa_syntax );
-
- if ( !required )
- return( -1 );
-
- Debug( LDAP_DEBUG_ANY, "name2attr (%s) failed - exiting\n", attrib,
- 0, 0 );
-
- log_and_exit( 1 );
-}
-
-void
-get_syntaxes( void )
-{
- Debug( LDAP_DEBUG_TRACE, "get_syntaxes\n", 0, 0, 0 );
-
- ldap_photo_syntax = get_one_syntax( "photo", 0 );
- ldap_jpeg_syntax = get_one_syntax( "jpegPhoto", 0 );
- ldap_jpeg_nonfile_syntax = str2syntax( "jpeg" );
- ldap_audio_syntax = get_one_syntax( "audio", 0 );
- ldap_postaladdress_syntax = get_one_syntax( "postaladdress", 0 );
- ldap_dn_syntax = get_one_syntax( "aliasedObjectName", 1 );
- ldap_acl_syntax = get_one_syntax( "acl", 0 );
- ldap_mtai_syntax = get_one_syntax( "mTAInfo", 0 );
- ldap_rts_cred_syntax= get_one_syntax( "initiatingRTSCredentials", 0 );
- ldap_rtl_syntax= get_one_syntax( "routingTreeList", 0 );
- ldap_mailbox_syntax = get_one_syntax( "otherMailbox", 0 );
- ldap_caseignorelist_syntax = str2syntax( "CaseIgnoreList" );
- ldap_caseexactstring_syntax = str2syntax( "caseexactstring" );
- ldap_octetstring_syntax = str2syntax( "OctetString" );
- ldap_deliverymethod_syntax = str2syntax( "DeliveryMethod" );
- ldap_iattr_syntax = get_one_syntax( "inheritedAttribute", 0 );
- ldap_certif_syntax = get_one_syntax( "userCertificate", 0 );
- ldap_telex_syntax = get_one_syntax( "telexNumber", 0 );
- ldap_facsimileTelephoneNumber_syntax =
- get_one_syntax( "facsimileTelephoneNumber", 0 );
- ldap_presentationAddress_syntax =
- get_one_syntax( "presentationAddress", 0 );
- ldap_teletexTerminalIdentifier_syntax =
- get_one_syntax( "teletexTerminalIdentifier", 0 );
- ldap_searchGuide_syntax = get_one_syntax( "searchGuide", 0 );
- ldap_dLSubmitPermission_syntax =
- get_one_syntax( "mhsDLSubmitPermissions", 0 );
-
- certif_init(); /* initialize certificate syntax handler */
-}
-
-/*
- * From RFC 1779 "A String Representation of Distinguished Names"
- *
- * Key Attribute (X.520 keys)
- * ------------------------------
- * CN CommonName
- * L LocalityName
- * ST StateOrProvinceName
- * O OrganizationName
- * OU OrganizationalUnitName
- * C CountryName
- * STREET StreetAddress
- *
- *
- * Table 1: Standardised Keywords
- *
- * There is an escape mechanism from the normal user oriented form, so
- * that this syntax may be used to print any valid distinguished name.
- *
- * 1. Attributes types are represented in a (big-endian) dotted
- * notation. (e.g., OID.2.6.53).
- *
- */
-static void
-attr_key_rfc1779(
- AttributeType at,
- char *key /* return key, caller allocated */
-)
-{
- char *x;
-
- x = attr2name_aux ( at );
-
- if ( x == NULL ) {
- x = "?";
- } else if ( isdigit ( (unsigned char) *x ) ) {
- sprintf ( key, "OID.%s", x );
- return;
- } else if (strcasecmp(x,"commonName")==0) {
- x = "CN";
- } else if (strcasecmp(x,"localityName")==0) {
- x = "l";
- } else if (strcasecmp(x,"stateOrProvinceName")==0) {
- x = "st";
- } else if (strcasecmp(x,"organizationName")==0) {
- x = "o";
- } else if (strcasecmp(x,"organizationalUnitName")==0) {
- x = "ou";
- } else if (strcasecmp(x,"countryName")==0) {
- x = "c";
- } else if (strcasecmp(x,"streetAddress")==0) {
- x = "street";
- }
-
- strcpy ( key, x );
-}
-
-#define SEPARATOR(c) ((c) == ',' || (c) == ';')
-#define SPACE(c) ((c) == ' ' || (c) == '\n')
-
-int
-dn_print_real(
- PS ps,
- DN dn,
- int format
-)
-{
- RDN rdn;
- int firstrdn;
- char *value;
- PS rps;
- char key[512];
-
- if ( dn == NULLDN )
- return( 0 );
-
- if ( dn->dn_parent != NULLDN ) {
- dn_print_real( ps, dn->dn_parent, format );
- ps_print( ps, ", " );
- }
-
- if ( (rps = ps_alloc( str_open )) == NULLPS )
- return( -1 );
- if ( str_setup( rps, NULLCP, 0, 0 ) == NOTOK )
- return( -1 );
-
- firstrdn = 1;
- for ( rdn = dn->dn_rdn; rdn != NULLRDN; rdn = rdn->rdn_next ) {
- if ( firstrdn )
- firstrdn = 0;
- else
- ps_print( ps, " + " );
-
- attr_key_rfc1779 ( rdn->rdn_at, key );
-
- ps_print ( ps, key );
- ps_print( ps, "=" );
-
- if ( rdn->rdn_at->oa_syntax == ldap_dn_syntax ) {
- dn_print_real( rps, (DN) rdn->rdn_av.av_struct,
- format );
- *rps->ps_ptr = '\0';
- value = rps->ps_base;
- } else {
- AttrV_print( rps, &rdn->rdn_av, EDBOUT );
- *rps->ps_ptr = '\0';
- if ( rps->ps_ptr - rps->ps_base >= 5 &&
- strncmp( rps->ps_base, "{ASN}", 5 ) == 0 ) {
- *rps->ps_base = '#';
- SAFEMEMCPY( rps->ps_base + 1, rps->ps_base + 5,
- rps->ps_ptr - rps->ps_base - 4 );
- }
- value = rps->ps_base;
- de_t61( value, 0 );
- }
-
- /*
- * ,+="\\\n all go in quotes. " and \\ need to
- * be preceeded by \\.
- */
-
- if ( strpbrk( value, ",+=\"\\\n" ) != NULL || SPACE( value[0] )
- || SPACE( value[max( strlen(value) - 1, (size_t) 0 )] ) ) {
- char *p, *t, *tmp;
- int specialcount;
-
- ps_print( ps, "\"" );
-
- specialcount = 0;
- for ( p = value; *p != '\0'; p++ ) {
- if ( *p == '"' || *p == '\\' ) {
- specialcount++;
- }
- }
- if ( specialcount > 0 ) {
- tmp = smalloc( strlen( value ) + specialcount
- + 1 );
- for ( p = value, t = tmp; *p != '\0'; p++ ) {
- switch ( *p ) {
- case '"':
- case '\\':
- *t++ = '\\';
- /* FALL THROUGH */
- default:
- *t++ = *p;
- }
- }
- *t = '\0';
- ps_print( ps, tmp );
- free( tmp );
- } else {
- ps_print( ps, value );
- }
-
- ps_print( ps, "\"" );
- } else {
- ps_print( ps, value );
- }
-
- rps->ps_ptr = rps->ps_base;
- }
-
- ps_free( rps );
-
- return( 0 );
-}
-
-void
-ldap_dn_print(
- PS ps,
- DN dn,
- DN base, /* if non-NULL, subsitute '*' for base (for CLDAP) */
- int format
-)
-{
- DN tmpdn;
- int addstar;
-
- Debug( LDAP_DEBUG_TRACE, "ldap_dn_print\n", 0, 0, 0 );
-
- addstar = 0;
- if ( base != NULLDN && dn != NULL ) {
- for ( tmpdn = dn; base != NULLDN && tmpdn != NULLDN;
- base = base->dn_parent, tmpdn = tmpdn->dn_parent ) {
- if ( dn_comp_cmp( base, tmpdn ) == NOTOK ) {
- break;
- }
- }
- if (( addstar = ( base == NULLDN && tmpdn != NULL ))) {
- dn = tmpdn;
- }
- }
-
- dn_print_real( ps, dn, format );
- if ( addstar ) {
- ps_print( ps, ", *" );
- }
-}
-
-int
-encode_dn(
- BerElement *ber,
- DN dn,
- DN base /* if non-NULL, subsitute '*' for base (for CLDAP) */
-)
-{
- PS ps;
- int rc;
-
- Debug( LDAP_DEBUG_TRACE, "encode_dn\n", 0, 0, 0 );
-
- if ( (ps = ps_alloc( str_open )) == NULLPS )
- return( -1 );
- if ( str_setup( ps, NULLCP, 0, 0 ) == NOTOK )
- return( -1 );
-
- ldap_dn_print( ps, dn, base, EDBOUT );
- *ps->ps_ptr = '\0';
-
- rc = ber_printf( ber, "s", ps->ps_base );
-
- ps_free( ps );
-
- return( rc );
-}
-
-static int
-put_jpeg_value( BerElement *ber, AttributeValue av )
-{
- PE pe;
- int len;
-
- Debug( LDAP_DEBUG_TRACE, "put_jpeg_value\n", 0, 0, 0 );
-
- if (av->av_syntax == AV_FILE)
- pe = (PE) (((struct file_syntax *) av->av_struct)->
- fs_attr->av_struct);
- else
- pe = (PE) av->av_struct;
-
- Debug( LDAP_DEBUG_ARGS,
- "put_jpeg_value: pe_class %x, pe_form %x, pe_id %x\n",
- pe->pe_class, pe->pe_form, pe->pe_id );
-
- if ( (pe->pe_class != PE_CLASS_UNIV && pe->pe_class != PE_CLASS_CONT)
- || pe->pe_form != PE_FORM_PRIM || pe->pe_id != PE_PRIM_OCTS ) {
- Debug( LDAP_DEBUG_ANY, "put_jpeg_value: unknown type\n", 0,
- 0, 0 );
- return( -1 );
- }
-
- if ( pe_pullup( pe ) == NOTOK ) {
- Debug( LDAP_DEBUG_ANY, "put_jpeg_value: cannot pullup\n", 0,
- 0, 0 );
- return( -1 );
- }
-
- len = ps_get_abs( pe );
-
- Debug( LDAP_DEBUG_ARGS, "put_jeg_value: ber_printf %d bytes\n",
- len, 0, 0 );
- if ( ber_printf( ber, "o", (char *) pe->pe_prim, len ) == -1 ) {
- Debug( LDAP_DEBUG_ANY, "put_jpeg_value: ber_printf failed\n",
- 0, 0, 0 );
- return( -1 );
- }
-
- return( 0 );
-}
-
-static int
-put_audio_value( BerElement *ber, AttributeValue av )
-{
- struct qbuf *qb, *p;
- int rc, len;
- char *buf;
-
- Debug( LDAP_DEBUG_TRACE, "put_audio_value\n", 0, 0, 0 );
-
- qb = (struct qbuf *) (((struct file_syntax *)
- av->av_struct)->fs_attr->av_struct);
-
- len = 0;
- for ( p = qb->qb_forw; p != qb; p = p->qb_forw ) {
- len += p->qb_len;
- }
-
- if ( (buf = (char *) malloc( len )) == NULL )
- return( -1 );
-
- len = 0;
- for ( p = qb->qb_forw; p != qb; p = p->qb_forw ) {
- SAFEMEMCPY( buf + len, p->qb_data, p->qb_len );
- len += p->qb_len;
- }
-
- Debug( LDAP_DEBUG_ARGS, "put_audio_value: ber_printf %d bytes\n",
- len, 0, 0 );
-
- if ( (rc = ber_printf( ber, "o", buf, len )) == -1 )
- Debug( LDAP_DEBUG_ANY, "put_audio_value: ber_printf failed\n",
- 0, 0, 0 );
-
- free( buf );
-
- return( rc );
-}
-
-static int
-put_photo_value( BerElement *ber, AttributeValue av )
-{
- PE pe;
- PS ps;
- int len;
- char *faxparamset = "\000\300\000\000";
- BerElement *phber;
-
- Debug( LDAP_DEBUG_TRACE, "put_photo_value\n", 0, 0, 0 );
-
- pe = (PE) (((struct file_syntax *) av->av_struct)->fs_attr->av_struct);
-
- /* old bit string-like format - only handle this for now */
- if ( pe->pe_class == PE_CLASS_UNIV && pe->pe_form == PE_FORM_PRIM
- && pe->pe_id == PE_PRIM_BITS ) {
- len = ps_get_abs( pe );
- Debug( LDAP_DEBUG_ARGS, "put_photo_val: ber_printf %d bytes\n",
- len, 0, 0 );
- if (( phber = der_alloc()) == NULL ) {
- Debug( LDAP_DEBUG_ANY, "der_alloc failed\n", 0, 0, 0 );
- return( -1 );
- }
- if ( ber_printf( phber, "t{[tB]{B}}", 0xA3, 0x81, faxparamset,
- 31, (char *)pe->pe_prim, len * 8 ) == -1 ) {
- Debug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
- ber_free( phber, 1 );
- return( -1 );
- }
- if ( ber_printf( ber, "o", phber->ber_buf, phber->ber_ptr
- - phber->ber_buf ) == -1 ) {
- Debug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
- ber_free( phber, 1 );
- return( -1 );
- }
- ber_free( phber, 1 );
- } else {
- /*
- * try just writing this into a PS and sending it along
- */
- ps_len_strategy = PS_LEN_LONG;
- if ( (ps = ps_alloc( str_open )) == NULLPS )
- return( -1 );
- if ( str_setup( ps, NULLCP, 0, 0 ) == NOTOK ||
- pe2ps( ps, pe ) == NOTOK ) {
- ps_free( ps );
- return( -1 );
- }
-
- len = ps->ps_ptr - ps->ps_base;
- Debug( LDAP_DEBUG_ARGS, "put_photo_val: ber_printf %d bytes\n",
- len, 0, 0 );
- if ( ber_printf( ber, "o", (char *) ps->ps_base, len ) == -1 ) {
- Debug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
- ps_free( ps );
- return( -1 );
- }
- ps_free( ps );
- }
-
- return( 0 );
-}
-
-static int
-put_values(
- BerElement *ber,
- PS ps,
- short syntax,
- AV_Sequence vals
-)
-{
- AV_Sequence av;
- char *strvalue;
-
- Debug( LDAP_DEBUG_TRACE, "put_values\n", 0, 0, 0 );
-
- for ( av = vals; av != NULLAV; av = av->avseq_next ) {
- if ( syntax == ldap_jpeg_syntax ||
- syntax == ldap_jpeg_nonfile_syntax ) {
- if ( put_jpeg_value( ber, &av->avseq_av ) == -1 )
- return( -1 );
- } else if ( syntax == ldap_photo_syntax ) {
- if ( put_photo_value( ber, &av->avseq_av ) == -1 )
- return( -1 );
- } else if ( syntax == ldap_audio_syntax ) {
- if ( put_audio_value( ber, &av->avseq_av ) == -1 )
- return( -1 );
- } else if ( syntax == ldap_dn_syntax ) {
- if ( encode_dn( ber, (DN) av->avseq_av.av_struct,
- NULLDN ) == -1 )
- return( -1 );
- } else if ( syntax > AV_WRITE_FILE ) {
- struct file_syntax *fsyntax;
-
- fsyntax = (struct file_syntax *) av->avseq_av.av_struct;
-
- ps->ps_ptr = ps->ps_base;
- AttrV_print( ps, fsyntax->fs_attr, EDBOUT );
- *ps->ps_ptr = '\0';
-
- if ( ber_printf( ber, "o", ps->ps_base,
- ps->ps_ptr - ps->ps_base ) == -1 )
- return( -1 );
- } else {
- ps->ps_ptr = ps->ps_base;
- AttrV_print( ps, &av->avseq_av, EDBOUT );
- *ps->ps_ptr = '\0';
- de_t61( ps->ps_base, 0 );
-
- if ( syntax_is_string( av->avseq_av.av_syntax ) &&
- *ps->ps_base == '\0' ) {
- /*
- * If this is a zero-length string, make it
- * a single blank (this is gross, but it works
- * around a dsap library bug).
- */
- Debug( LDAP_DEBUG_ANY,
- "put_values: replaced zero-length string with single blank\n", 0, 0, 0 );
- strvalue = " ";
- } else {
- strvalue = ps->ps_base;
- }
- if ( ber_printf( ber, "s", strvalue ) == -1 )
- return( -1 );
- }
- }
-
- return( 0 );
-}
-
-int
-encode_attrs( BerElement *ber, Attr_Sequence as )
-{
- PS ps;
-
- Debug( LDAP_DEBUG_TRACE, "encode_attrs\n", 0, 0, 0 );
-
- if ( (ps = ps_alloc( str_open )) == NULLPS )
- return( -1 );
- if ( str_setup( ps, NULLCP, 0, 0 ) == NOTOK )
- return( -1 );
-
-#ifdef LDAP_COMPAT20
- if ( ber_printf( ber, "t{", ldap_compat == 20 ? OLD_LBER_SEQUENCE :
- LBER_SEQUENCE ) == -1 ) {
-#else
- if ( ber_printf( ber, "{" ) == -1 ) {
-#endif
- ps_free( ps );
- return( -1 );
- }
-
- while ( as != NULLATTR ) {
- ps->ps_ptr = ps->ps_base;
- AttrT_print( ps, as->attr_type, EDBOUT );
- *ps->ps_ptr = '\0';
-
-#ifdef LDAP_COMPAT20
- if ( ber_printf( ber, "t{st[", ldap_compat == 20 ?
- OLD_LBER_SEQUENCE : LBER_SEQUENCE, ps->ps_base,
- ldap_compat == 20 ? OLD_LBER_SET : LBER_SET ) == -1 ) {
-#else
- if ( ber_printf( ber, "{s[", ps->ps_base ) == -1 ) {
-#endif
- ps_free( ps );
- return( -1 );
- }
-
- put_values( ber, ps, as->attr_type->oa_syntax, as->attr_value );
-
- if ( ber_printf( ber, "]}" ) == -1 ) {
- ps_free( ps );
- return( -1 );
- }
-
- as = as->attr_link;
- }
- ps_free( ps );
-
- if ( ber_printf( ber, "}" ) == -1 )
- return( -1 );
-
- return( 0 );
-}
-
-static void
-trim_trailing_spaces( char *s )
-{
- char *t;
-
- t = s + strlen( s );
- while ( --t > s ) {
- if ( SPACE( *t ) ) {
- *t = '\0';
- } else {
- break;
- }
- }
-}
-
-DN
-ldap_str2dn( char *str )
-{
- DN dn, save;
- RDN rdn, newrdn, tmprdn;
- AttributeType at;
- AttributeValue av;
- char *type, *value, *savestr;
- int morerdncomps;
-
- Debug( LDAP_DEBUG_TRACE, "ldap_str2dn\n", 0, 0, 0 );
-
- savestr = str = strdup( str );
- dn = NULLDN;
- do {
- char *r;
- int state;
-
- rdn = NULLRDN;
- morerdncomps = 1;
- do {
- /* get the type */
- while ( *str == ' ' || *str == '\n' )
- str++;
- type = str;
- while ( *str != '\0' && *str != '=' )
- str++;
- if ( *str == '\0' ) {
- free( savestr );
- Debug( LDAP_DEBUG_ARGS, "no =\n", 0, 0, 0 );
- return( NULLDN );
- }
- *str++ = '\0';
- if ( strncmp( type, "OID.", 4 ) == 0 )
- type += 4;
-
-#define BEGINVALUE 1
-#define INVALUE 2
-#define INQUOTE 3
-#define ENDVALUE 4
- if ( *str == '#' ) {
- ++str;
- }
- r = value = str;
- state = BEGINVALUE;
- /* break or return out */
- while ( state != ENDVALUE ) {
- switch ( *str ) {
- case '"':
- if ( state == BEGINVALUE ) {
- state = INQUOTE;
- str++;
- } else if ( state == INQUOTE ) {
- state = ENDVALUE;
- str++;
- } else {
- free( savestr );
- Debug( LDAP_DEBUG_ARGS,
- "quote state %d\n", state,
- 0, 0 );
- return( NULLDN );
- }
- break;
-
- case ',':
- case ';':
- case '+':
- if ( state == INVALUE ) {
- state = ENDVALUE;
- } else if ( state == INQUOTE ) {
- *r++ = *str++;
- } else {
- free( savestr );
- Debug( LDAP_DEBUG_ARGS,
- "comma state %d\n", state,
- 0, 0 );
- return( NULLDN );
- }
- break;
-
- case ' ':
- case '\n':
- if ( state == BEGINVALUE ) {
- str++;
- } else {
- *r++ = *str++;
- }
- break;
-
- case '\\':
- str++;
- *r++ = *str++;
- break;
-
- case '\0':
- state = ENDVALUE;
- break;
-
- default:
- if ( state == BEGINVALUE )
- state = INVALUE;
- *r++ = *str++;
- break;
- }
- }
-
- while ( SPACE( *str ) )
- str++;
- if ( *str == '+' ) {
- morerdncomps = 1;
- str++;
- } else {
- morerdncomps = 0;
- if ( SEPARATOR( *str ) )
- str++;
- }
- *r = '\0';
-
- /* type */
- trim_trailing_spaces( type );
- if ( (at = str2AttrT( type )) == NULLAttrT ) {
- dn_free( dn );
- free( savestr );
- Debug( LDAP_DEBUG_ARGS, "bad type (%s)\n",
- type, 0, 0 );
- return( NULLDN ); /* LDAP_UNDEFINED_TYPE */
- }
- /* value */
- if ( (av = ldap_str2AttrV( value, at->oa_syntax ))
- == NULLAttrV ) {
- dn_free( dn );
- free( savestr );
- Debug( LDAP_DEBUG_ARGS, "bad val\n", 0, 0, 0 );
- return( NULLDN ); /* LDAP_INVALID_SYNTAX */
- }
- /* make the rdn */
- newrdn = rdn_comp_new( at, av );
-
- /* add it to the list */
- for ( tmprdn = rdn; tmprdn != NULLRDN &&
- tmprdn->rdn_next != NULLRDN;
- tmprdn = tmprdn->rdn_next )
- ; /* NULL */
- if ( tmprdn != NULLRDN )
- tmprdn->rdn_next = newrdn;
- else
- rdn = newrdn;
-
- AttrV_free( av );
- } while ( morerdncomps );
-
- save = dn;
- dn = dn_comp_new( rdn );
- dn->dn_parent = save;
- } while ( str != NULL && *str != '\0' );
-
- free( savestr );
- Debug( LDAP_DEBUG_TRACE, "ldap_str2dn OK\n", 0, 0, 0 );
- return( dn );
-}
-
-#define T61 "{T.61}"
-#define T61LEN 6
-
-static void
-de_t61( char *s, int t61mark )
-{
- char *next = s;
- unsigned char c;
- unsigned int hex;
-
- while ( *s ) {
- switch ( *s ) {
- case '{' :
- if ( strncasecmp( s, T61, T61LEN) == 0 ) {
- s += T61LEN;
- if ( t61mark )
- *next++ = '@';
- } else {
- *next++ = *s++;
- }
- break;
-
- case '\\':
- c = *(s + 1);
- if ( c == '\n' ) {
- s += 2;
- if ( *s == '\t' )
- s++;
- break;
- }
- if ( c == '\\' ) {
- /* reverse solidus character itself */
- s += 2;
- *next++ = c;
- break;
- }
- if ( isdigit( c ) )
- hex = c - '0';
- else if ( c >= 'A' && c <= 'F' )
- hex = c - 'A' + 10;
- else if ( c >= 'a' && c <= 'f' )
- hex = c - 'a' + 10;
- else {
- *next++ = *s++;
- break;
- }
- hex <<= 4;
- c = *(s + 2);
- if ( isdigit( c ) )
- hex += c - '0';
- else if ( c >= 'A' && c <= 'F' )
- hex += c - 'A' + 10;
- else if ( c >= 'a' && c <= 'f' )
- hex += c - 'a' + 10;
- else {
- *next++ = *s++;
- *next++ = *s++;
- break;
- }
-
- *next++ = hex;
- s += 3;
- break;
-
- default:
- *next++ = *s++;
- break;
- }
- }
- *next = '\0';
-}
-
-
-static PE
-bv_asn2pe( struct berval *bv )
-{
- PS ps;
- PE pe;
-
- if (( ps = ps_alloc(str_open)) == NULLPS || str_setup( ps, bv->bv_val,
- bv->bv_len, 0 ) == NOTOK ) {
- Debug( LDAP_DEBUG_TRACE, "bv_asn2pe: ps_alloc failed\n",
- 0, 0, 0 );
- return( NULLPE );
- }
-
- pe = ps2pe( ps );
- if ( ps->ps_errno != PS_ERR_NONE ) {
- Debug( LDAP_DEBUG_TRACE, "bv_asn2pe: ps2pe failed %s\n",
- ps_error(ps->ps_errno), 0, 0 );
- if ( pe != NULLPE ) {
- pe_free( pe );
- }
- return( NULLPE );
- }
-
- return( pe );
-}
-
-
-AttributeValue
-bv_octet2AttrV( struct berval *bv )
-{
- AttributeValue av;
-
- av = AttrV_alloc();
- if ( av == NULLAttrV ) {
- return( NULLAttrV );
- }
-
- if (( av->av_struct = (caddr_t) str2prim( bv->bv_val, bv->bv_len,
- PE_CLASS_UNIV, PE_PRIM_OCTS )) == NULL ) {
- free((char *)av );
- return( NULLAttrV );
- }
-
- av->av_syntax = 0;
- return( av );
-}
-
-
-AttributeValue
-bv_asn2AttrV( struct berval *bv )
-{
- AttributeValue av;
-
- av = AttrV_alloc();
- if ( av == NULLAttrV ) {
- return( NULLAttrV );
- }
-
- if (( av->av_struct = (caddr_t) bv_asn2pe( bv )) == NULL ) {
- free((char *)av );
- return( NULLAttrV );
- }
-
- av->av_syntax = 0;
- return( av );
-}
-
-
-AttributeValue
-ldap_strdn2AttrV( char *dnstr )
-{
- DN dn;
- AttributeValue av;
-
- if (( dn = ldap_str2dn( dnstr )) == NULL ) {
- return( NULLAttrV );
- }
-
- av = AttrV_alloc();
- if ( av == NULLAttrV ) {
- dn_free( dn );
- return( NULLAttrV );
- }
-
- av->av_struct = (caddr_t)dn;
- av->av_syntax = ldap_dn_syntax;
- return( av );
-}
-
-RDN
-ldap_str2rdn( char *rdnstr )
-{
- DN dn;
- RDN rdn;
-
- if ( (dn = ldap_str2dn( rdnstr )) == NULL ) {
- return( NULL );
- }
-
- if ( (rdn = rdn_cpy( dn->dn_rdn )) == NULL ) {
- return( NULL );
- }
-
- dn_free( dn );
-
- return( rdn );
-}
-
-AttributeValue
-ldap_str_at2AttrV( char *str, AttributeType type )
-{
- char *s, *res, *r;
-
- Debug( LDAP_DEBUG_TRACE, "ldap_str_at2AttrV str (%s) type (%s)\n", str,
- type->oa_ot.ot_name, 0 );
-
- if ( type->oa_syntax == ldap_rts_cred_syntax ||
- type->oa_syntax == ldap_mtai_syntax ||
- type->oa_syntax == ldap_acl_syntax ||
- type->oa_syntax == ldap_mailbox_syntax ||
- type->oa_syntax == ldap_caseignorelist_syntax ||
- type->oa_syntax == ldap_certif_syntax ||
- type->oa_syntax == ldap_iattr_syntax ||
- type->oa_syntax == ldap_telex_syntax ||
- type->oa_syntax == ldap_deliverymethod_syntax ||
- type->oa_syntax == ldap_facsimileTelephoneNumber_syntax ||
- type->oa_syntax == ldap_presentationAddress_syntax ||
- type->oa_syntax == ldap_teletexTerminalIdentifier_syntax ||
- type->oa_syntax == ldap_searchGuide_syntax ||
- type->oa_syntax == ldap_dLSubmitPermission_syntax ||
- type->oa_syntax == ldap_rtl_syntax ) {
- res = str;
- } else {
- res = (char *) malloc( max( 2 * strlen( str ), (size_t) 10 ) );
-
- r = res;
- for ( s = str; *s; s++ ) {
- switch ( *s ) {
- case '&':
- case '#':
- case '$':
- case '%':
- case '@':
- case '\\':
- sprintf( r, "\\%02x", *s & 0xff );
- r += 3;
- break;
-
- default:
- *r++ = *s;
- }
- }
- *r = '\0';
- }
-
- Debug( LDAP_DEBUG_TRACE, "ldap_str_at2AttrV returning (%s)\n", res,
- 0, 0 );
-
- return( str_at2AttrV( res, type ) );
-}
-
-AttributeValue
-ldap_str2AttrV( char *value, short syntax )
-{
- if ( syntax == ldap_dn_syntax ) {
- return( ldap_strdn2AttrV( value ) );
- } else {
- return( str2AttrV( value, syntax ) );
- }
-}
-
-
-static int
-syntax_is_string( short syntax )
-{
-/*
- * this code depends on the order and nunber of strings that are in
- * the ISODE file lib/syntax/x500/string.c
- */
- return ( syntax >= ldap_caseexactstring_syntax &&
- syntax <= ldap_caseexactstring_syntax + 8 );
-}
+++ /dev/null
-/* $OpenLDAP$ */
-/*
- * Copyright (c) 1990 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
- */
-
-#include "portable.h"
-
-#include <stdio.h>
-
-#include <ac/ctype.h>
-#include <ac/errno.h>
-#include <ac/socket.h>
-#include <ac/string.h>
-
-#include <sys/ioctl.h>
-
-#include <quipu/commonarg.h>
-#include <quipu/ds_error.h>
-
-#include "lber.h"
-#include "ldap.h"
-#include "common.h"
-
-/*
- * Print arbitrary stuff, for debugging.
- */
-
-
-#define BPLEN 48
-
-void
-bprint( char *data, int len )
-{
- static const char hexdig[] = "0123456789abcdef";
- char out[ BPLEN ];
- int i = 0;
-
- (void) memset( out, 0, BPLEN );
- for ( ;; ) {
- if ( len < 1 ) {
- printf( "\t%s\n", ( i == 0 ) ? "(end)" : out );
- break;
- }
-
- if ( isgraph( (unsigned char)*data )) {
- out[ i ] = ' ';
- out[ i+1 ] = *data;
- } else {
- out[ i ] = hexdig[ ( (unsigned char)*data & 0xf0 ) >> 4 ];
- out[ i+1 ] = hexdig[ (unsigned char)*data & 0x0f ];
- }
- i += 2;
- len--;
- data++;
-
- if ( i > BPLEN - 2 ) {
- printf( "\t%s\n", out );
- (void) memset( out, 0, BPLEN );
- i = 0;
- continue;
- }
- out[ i++ ] = ' ';
- }
-}
-
-void
-charlist_free( char **cl )
-{
- int i;
-
- if ( cl == NULL )
- return;
-
- for ( i = 0; cl[i] != NULL; i++ )
- free( cl[i] );
- free( (char *) cl );
-}
-
-int
-get_ava( BerElement *ber, AVA *tava )
-{
- char *type, *value;
-
- Debug( LDAP_DEBUG_TRACE, "get_ava\n", 0, 0, 0 );
-
- /*
- * An AVA looks like this:
- * AttributeValueAsertion ::= SEQUENCE {
- * attributeType AttributeType,
- * attributeValue AttributeValue
- * }
- */
-
- if ( ber_scanf( ber, "{aa}", &type, &value ) == LBER_ERROR )
- return( LDAP_PROTOCOL_ERROR );
-
- if ( (tava->ava_type = str2AttrT( type )) == NULLAttrT ) {
- free( type );
- free( value );
- return( LDAP_UNDEFINED_TYPE );
- }
-
- if ( (tava->ava_value = ldap_str2AttrV( value,
- tava->ava_type->oa_syntax )) == NULLAttrV ) {
- free( type );
- free( value );
- return( LDAP_INVALID_SYNTAX );
- }
-
- free( type );
- free( value );
-
- return( 0 );
-}
-
-int
-chase_referral(
- Sockbuf *clientsb,
- struct msg *m,
- struct DSError *err,
- char **matched
-)
-{
- ContinuationRef cr;
- struct access_point *ap;
- int rc, bound;
- struct conn *save, *dup, *found;
-
- Debug( LDAP_DEBUG_TRACE, "chase_referral\n", 0, 0, 0 );
-
- save = m->m_conn;
- dup = conn_dup( m->m_conn );
- m->m_conn = dup;
- m->m_conn->c_ad = -1;
-
- /* for each dsa candidate */
- rc = LDAP_OTHER;
- for ( cr = err->ERR_REFERRAL.DSE_ref_candidates;
- cr != NULLCONTINUATIONREF; cr = cr->cr_next ) {
-
- /* for each access point listed for the dsa */
- for ( ap = cr->cr_accesspoints; ap != NULLACCESSPOINT;
- ap = ap->ap_next ) {
-#ifdef LDAP_DEBUG
- if ( ldap_debug & LDAP_DEBUG_ARGS ) {
- char *str;
-
- str = paddr2str( ap->ap_address, NULLNA );
- fprintf( stderr, "Referring to (%s)...\n",
- str );
- }
-#endif
-
- if ( m->m_conn->c_paddr )
- free( (char *) m->m_conn->c_paddr );
- m->m_conn->c_paddr = psap_cpy( ap->ap_address );
-
- if ( (found = conn_find( m->m_conn )) != NULL ) {
- conn_free( m->m_conn );
- m->m_conn = found;
- m->m_conn->c_refcnt++;
- conn_free( save );
- return( LDAP_SUCCESS );
- }
-
- rc = do_bind_real( m->m_conn, &bound, matched );
-
- if ( rc == LDAP_SUCCESS ) {
- conn_free( save );
- conn_add( m->m_conn );
- return( LDAP_SUCCESS );
- }
- }
-
- }
-
- /* so the conn can be found and freed later */
- conn_free( m->m_conn );
- m->m_conn = save;
-
- return( rc );
-}
XLDFLAGS = $(MODULES_LDFLAGS) $(SLAPD_MODULES)
XLIBS = -lavl -lldif -lldbm -llutil -lldap_r -llber
-XXLIBS = $(LDAPD_LIBS) $(SLAPD_LIBS) \
+XXLIBS = $(QUIPU_LIBS) $(SLAPD_LIBS) \
$(LDBM_LIBS) $(SECURITY_LIBS) \
$(LDIF_LIBS) $(LUTIL_LIBS)
XXXLIBS = $(LTHREAD_LIBS) $(MODULES_LIBS)