summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am26
-rw-r--r--Makefile.in27
-rw-r--r--aclocal.m434
-rwxr-xr-xconfigure221
-rw-r--r--configure.ac10
-rw-r--r--ldap/admin/src/scripts/DialogManager.pm4
-rw-r--r--ldap/admin/src/scripts/Inf.pm37
-rw-r--r--ldap/admin/src/scripts/Setup.pm.in16
-rw-r--r--ldap/admin/src/scripts/SetupDialogs.pm.in (renamed from ldap/admin/src/scripts/SetupDialogs.pm)4
-rw-r--r--ldap/admin/src/scripts/Util.pm.in (renamed from ldap/admin/src/scripts/Util.pm)34
-rw-r--r--ldap/admin/src/scripts/setup-ds.res.in2
-rw-r--r--ldap/cm/newinst/slapd.inf.in10
-rw-r--r--ldap/ldif/template-bitwise.ldif.in10
-rw-r--r--ldap/ldif/template-dnaplugin.ldif.in11
-rw-r--r--ldap/ldif/template-dse.ldif.in773
-rw-r--r--ldap/ldif/template-ldapi-autobind.ldif.in22
-rw-r--r--ldap/ldif/template-ldapi-default.ldif.in26
-rw-r--r--ldap/ldif/template-ldapi.ldif.in7
-rw-r--r--ldap/ldif/template-pampta.ldif.in20
-rw-r--r--ldap/ldif/template-suffix-db.ldif.in17
-rw-r--r--ldap/servers/slapd/dynalib.c59
-rw-r--r--ldap/servers/slapd/tools/pwenc.c94
22 files changed, 1329 insertions, 135 deletions
diff --git a/Makefile.am b/Makefile.am
index 0f4027cd..68a9a1d3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,10 +1,15 @@
# look for included m4 files in the ./m4/ directory
ACLOCAL_AMFLAGS = -I m4
+NULLSTRING :=
+SPACE := $(NULLSTRING) # the space is between the ) and the #
+COLON := $(NULLSTRING):# a colon
+QUOTE := $(NULLSTRING)"# a double quote"
#------------------------
# Compiler Flags
#------------------------
BUILDNUM := $(shell perl $(srcdir)/buildnum.pl)
+NQBUILDNUM := $(subst \,,$(subst $(QUOTE),,$(BUILDNUM)))
DEBUG_DEFINES = @debug_defs@
DS_DEFINES = -DBUILD_NUM=$(BUILDNUM)
DS_INCLUDES = -I$(srcdir)/ldap/include -I$(srcdir)/ldap/servers/slapd -I$(srcdir)/include -I.
@@ -21,7 +26,7 @@ DS_INCLUDES = -I$(srcdir)/ldap/include -I$(srcdir)/ldap/servers/slapd -I$(srcdir
PATH_DEFINES = -DLOCALSTATEDIR="\"$(localstatedir)\"" -DSYSCONFDIR="\"$(sysconfdir)\"" \
-DLIBDIR="\"$(libdir)\"" -DBINDIR="\"$(bindir)\"" \
-DDATADIR="\"$(datadir)\"" -DDOCDIR="\"$(docdir)\"" \
- -DSBINDIR="\"$(sbindir)\"" -DPLUGINDIR="\"$(serverplugindir)\""
+ -DSBINDIR="\"$(sbindir)\"" -DPLUGINDIR="\"$(serverplugindir)\"" -DTEMPLATEDIR="\"$(sampledatadir)\""
AM_CPPFLAGS = $(DEBUG_DEFINES) $(DS_DEFINES) $(DS_INCLUDES) $(PATH_DEFINES)
PLUGIN_CPPFLAGS = $(AM_CPPFLAGS) @ldapsdk_inc@ @nss_inc@ @nspr_inc@
@@ -77,7 +82,8 @@ instconfigdir = @instconfigdir@
perldir = $(libdir)@perldir@
infdir = $(datadir)@infdir@
-shared_lib_suffix = @shared_lib_suffix@
+defaultuser=@defaultuser@
+defaultgroup=@defaultgroup@
#------------------------
# Build Products
@@ -131,6 +137,14 @@ sampledata_DATA = $(srcdir)/ldap/ldif/Ace.ldif \
$(srcdir)/ldap/ldif/roledit.ldif \
$(srcdir)/ldap/ldif/tasks.ldif \
$(srcdir)/ldap/ldif/template.ldif \
+ ldap/ldif/template-dse.ldif \
+ ldap/ldif/template-suffix-db.ldif \
+ ldap/ldif/template-ldapi.ldif \
+ ldap/ldif/template-ldapi-default.ldif \
+ ldap/ldif/template-ldapi-autobind.ldif \
+ ldap/ldif/template-pampta.ldif \
+ ldap/ldif/template-dnaplugin.ldif \
+ ldap/ldif/template-bitwise.ldif \
$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-FamilyNames \
$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-GivenNames \
$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-OrgUnits
@@ -1024,8 +1038,10 @@ fixupcmd = sed \
-e 's,@vendor\@,$(vendor),g' \
-e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
-e 's,@BUILDNUM\@,$(BUILDNUM),g' \
+ -e 's,@NQBUILD_NUM\@,$(NQBUILDNUM),g' \
-e 's,@perldir\@,$(perldir),g' \
- -e 's,@shared_lib_suffix\@,$(shared_lib_suffix),g'
+ -e 's,@defaultuser\@,$(defaultuser),g' \
+ -e 's,@defaultgroup\@,$(defaultgroup),g'
else
fixupcmd = sed \
-e 's,@bindir\@,$(bindir),g' \
@@ -1057,8 +1073,10 @@ fixupcmd = sed \
-e 's,@vendor\@,$(vendor),g' \
-e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
-e 's,@BUILDNUM\@,$(BUILDNUM),g' \
+ -e 's,@NQBUILD_NUM\@,$(NQBUILDNUM),g' \
-e 's,@perldir\@,$(perldir),g' \
- -e 's,@shared_lib_suffix\@,$(shared_lib_suffix),g'
+ -e 's,@defaultuser\@,$(defaultuser),g' \
+ -e 's,@defaultgroup\@,$(defaultgroup),g'
endif
%: %.in
diff --git a/Makefile.in b/Makefile.in
index 3f1dab23..611ce591 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -876,6 +876,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SOLARIS_FALSE = @SOLARIS_FALSE@
@@ -920,6 +921,8 @@ db_lib = @db_lib@
db_libdir = @db_libdir@
db_libver = @db_libver@
debug_defs = @debug_defs@
+defaultgroup = @defaultgroup@
+defaultuser = @defaultuser@
enable_bitwise_FALSE = @enable_bitwise_FALSE@
enable_bitwise_TRUE = @enable_bitwise_TRUE@
enable_dna_FALSE = @enable_dna_FALSE@
@@ -976,7 +979,6 @@ schemadir = $(sysconfdir)@schemadir@
scripttemplatedir = @scripttemplatedir@
serverdir = $(libdir)@serverdir@
serverplugindir = $(libdir)@serverplugindir@
-shared_lib_suffix = @shared_lib_suffix@
sharedstatedir = @sharedstatedir@
svrcore_inc = @svrcore_inc@
svrcore_lib = @svrcore_lib@
@@ -986,11 +988,16 @@ vendor = @vendor@
# look for included m4 files in the ./m4/ directory
ACLOCAL_AMFLAGS = -I m4
+NULLSTRING :=
+SPACE := $(NULLSTRING) # the space is between the ) and the #
+COLON := $(NULLSTRING):# a colon
+QUOTE := $(NULLSTRING)"# a double quote"
#------------------------
# Compiler Flags
#------------------------
BUILDNUM := $(shell perl $(srcdir)/buildnum.pl)
+NQBUILDNUM := $(subst \,,$(subst $(QUOTE),,$(BUILDNUM)))
DEBUG_DEFINES = @debug_defs@
DS_DEFINES = -DBUILD_NUM=$(BUILDNUM)
DS_INCLUDES = -I$(srcdir)/ldap/include -I$(srcdir)/ldap/servers/slapd -I$(srcdir)/include -I.
@@ -1007,7 +1014,7 @@ DS_INCLUDES = -I$(srcdir)/ldap/include -I$(srcdir)/ldap/servers/slapd -I$(srcdir
PATH_DEFINES = -DLOCALSTATEDIR="\"$(localstatedir)\"" -DSYSCONFDIR="\"$(sysconfdir)\"" \
-DLIBDIR="\"$(libdir)\"" -DBINDIR="\"$(bindir)\"" \
-DDATADIR="\"$(datadir)\"" -DDOCDIR="\"$(docdir)\"" \
- -DSBINDIR="\"$(sbindir)\"" -DPLUGINDIR="\"$(serverplugindir)\""
+ -DSBINDIR="\"$(sbindir)\"" -DPLUGINDIR="\"$(serverplugindir)\"" -DTEMPLATEDIR="\"$(sampledatadir)\""
AM_CPPFLAGS = $(DEBUG_DEFINES) $(DS_DEFINES) $(DS_INCLUDES) $(PATH_DEFINES)
PLUGIN_CPPFLAGS = $(AM_CPPFLAGS) @ldapsdk_inc@ @nss_inc@ @nspr_inc@
@@ -1066,6 +1073,14 @@ sampledata_DATA = $(srcdir)/ldap/ldif/Ace.ldif \
$(srcdir)/ldap/ldif/roledit.ldif \
$(srcdir)/ldap/ldif/tasks.ldif \
$(srcdir)/ldap/ldif/template.ldif \
+ ldap/ldif/template-dse.ldif \
+ ldap/ldif/template-suffix-db.ldif \
+ ldap/ldif/template-ldapi.ldif \
+ ldap/ldif/template-ldapi-default.ldif \
+ ldap/ldif/template-ldapi-autobind.ldif \
+ ldap/ldif/template-pampta.ldif \
+ ldap/ldif/template-dnaplugin.ldif \
+ ldap/ldif/template-bitwise.ldif \
$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-FamilyNames \
$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-GivenNames \
$(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen-OrgUnits
@@ -1918,8 +1933,10 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_FALSE@ -e 's,@vendor\@,$(vendor),g' \
@BUNDLE_FALSE@ -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
@BUNDLE_FALSE@ -e 's,@BUILDNUM\@,$(BUILDNUM),g' \
+@BUNDLE_FALSE@ -e 's,@NQBUILD_NUM\@,$(NQBUILDNUM),g' \
@BUNDLE_FALSE@ -e 's,@perldir\@,$(perldir),g' \
-@BUNDLE_FALSE@ -e 's,@shared_lib_suffix\@,$(shared_lib_suffix),g'
+@BUNDLE_FALSE@ -e 's,@defaultuser\@,$(defaultuser),g' \
+@BUNDLE_FALSE@ -e 's,@defaultgroup\@,$(defaultgroup),g'
# these are for the config files and scripts that we need to generate and replace
@@ -1958,8 +1975,10 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_TRUE@ -e 's,@vendor\@,$(vendor),g' \
@BUNDLE_TRUE@ -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
@BUNDLE_TRUE@ -e 's,@BUILDNUM\@,$(BUILDNUM),g' \
+@BUNDLE_TRUE@ -e 's,@NQBUILD_NUM\@,$(NQBUILDNUM),g' \
@BUNDLE_TRUE@ -e 's,@perldir\@,$(perldir),g' \
-@BUNDLE_TRUE@ -e 's,@shared_lib_suffix\@,$(shared_lib_suffix),g'
+@BUNDLE_TRUE@ -e 's,@defaultuser\@,$(defaultuser),g' \
+@BUNDLE_TRUE@ -e 's,@defaultgroup\@,$(defaultgroup),g'
all: $(BUILT_SOURCES) config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
diff --git a/aclocal.m4 b/aclocal.m4
index 9064efa9..c7c1c6fb 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1578,10 +1578,27 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -4288,6 +4305,9 @@ CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
# Is the compiler the GNU C compiler?
with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
# An ERE matcher.
EGREP=$lt_EGREP
@@ -4421,11 +4441,11 @@ striplib=$lt_striplib
# Dependencies to place before the objects being linked to create a
# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+predep_objects=\`echo $lt_[]_LT_AC_TAGVAR(predep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place after the objects being linked to create a
# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+postdep_objects=\`echo $lt_[]_LT_AC_TAGVAR(postdep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place before the objects being linked to create a
# shared library.
@@ -4437,7 +4457,7 @@ postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
# The library search path used internally by the compiler when linking
# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+compiler_lib_search_path=\`echo $lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
@@ -4517,7 +4537,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -6353,6 +6373,7 @@ do
done
done
done
+IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -6385,6 +6406,7 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
done
])
SED=$lt_cv_path_SED
+AC_SUBST([SED])
AC_MSG_RESULT([$SED])
])
diff --git a/configure b/configure
index da588fb7..0b118b30 100755
--- a/configure
+++ b/configure
@@ -465,7 +465,7 @@ ac_includes_default="\
#endif"
ac_default_prefix=/opt/$PACKAGE_NAME
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir infdir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir shared_lib_suffix HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir infdir defaultuser defaultgroup instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -3836,6 +3836,7 @@ do
done
done
done
+IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -3870,6 +3871,7 @@ done
fi
SED=$lt_cv_path_SED
+
echo "$as_me:$LINENO: result: $SED" >&5
echo "${ECHO_T}$SED" >&6
@@ -4310,7 +4312,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4313 "configure"' > conftest.$ac_ext
+ echo '#line 4315 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -5445,7 +5447,7 @@ fi
# Provide some information about the compiler.
-echo "$as_me:5448:" \
+echo "$as_me:5450:" \
"checking for Fortran 77 compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -6508,11 +6510,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6511: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:6513: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:6515: \$? = $ac_status" >&5
+ echo "$as_me:6517: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -6776,11 +6778,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6779: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:6781: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:6783: \$? = $ac_status" >&5
+ echo "$as_me:6785: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -6880,11 +6882,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6883: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:6885: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:6887: \$? = $ac_status" >&5
+ echo "$as_me:6889: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -8345,10 +8347,31 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 8354 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -9225,7 +9248,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9228 "configure"
+#line 9251 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9325,7 +9348,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9328 "configure"
+#line 9351 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9656,6 +9679,9 @@ CC=$lt_compiler
# Is the compiler the GNU C compiler?
with_gcc=$GCC
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
# An ERE matcher.
EGREP=$lt_EGREP
@@ -9789,11 +9815,11 @@ striplib=$lt_striplib
# Dependencies to place before the objects being linked to create a
# shared library.
-predep_objects=$lt_predep_objects
+predep_objects=\`echo $lt_predep_objects | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place after the objects being linked to create a
# shared library.
-postdep_objects=$lt_postdep_objects
+postdep_objects=\`echo $lt_postdep_objects | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place before the objects being linked to create a
# shared library.
@@ -9805,7 +9831,7 @@ postdeps=$lt_postdeps
# The library search path used internally by the compiler when linking
# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
@@ -9885,7 +9911,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
link_all_deplibs=$link_all_deplibs
# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -11665,11 +11691,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11668: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:11694: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:11672: \$? = $ac_status" >&5
+ echo "$as_me:11698: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -11769,11 +11795,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11772: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:11798: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:11776: \$? = $ac_status" >&5
+ echo "$as_me:11802: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12301,10 +12327,31 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 12334 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -12688,6 +12735,9 @@ CC=$lt_compiler_CXX
# Is the compiler the GNU C compiler?
with_gcc=$GCC_CXX
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
# An ERE matcher.
EGREP=$lt_EGREP
@@ -12821,11 +12871,11 @@ striplib=$lt_striplib
# Dependencies to place before the objects being linked to create a
# shared library.
-predep_objects=$lt_predep_objects_CXX
+predep_objects=\`echo $lt_predep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place after the objects being linked to create a
# shared library.
-postdep_objects=$lt_postdep_objects_CXX
+postdep_objects=\`echo $lt_postdep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place before the objects being linked to create a
# shared library.
@@ -12837,7 +12887,7 @@ postdeps=$lt_postdeps_CXX
# The library search path used internally by the compiler when linking
# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
@@ -12917,7 +12967,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
link_all_deplibs=$link_all_deplibs_CXX
# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -13339,11 +13389,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13342: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13392: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13346: \$? = $ac_status" >&5
+ echo "$as_me:13396: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -13443,11 +13493,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13446: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13496: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13450: \$? = $ac_status" >&5
+ echo "$as_me:13500: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14888,10 +14938,31 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 14945 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -15275,6 +15346,9 @@ CC=$lt_compiler_F77
# Is the compiler the GNU C compiler?
with_gcc=$GCC_F77
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
# An ERE matcher.
EGREP=$lt_EGREP
@@ -15408,11 +15482,11 @@ striplib=$lt_striplib
# Dependencies to place before the objects being linked to create a
# shared library.
-predep_objects=$lt_predep_objects_F77
+predep_objects=\`echo $lt_predep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place after the objects being linked to create a
# shared library.
-postdep_objects=$lt_postdep_objects_F77
+postdep_objects=\`echo $lt_postdep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place before the objects being linked to create a
# shared library.
@@ -15424,7 +15498,7 @@ postdeps=$lt_postdeps_F77
# The library search path used internally by the compiler when linking
# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
@@ -15504,7 +15578,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
link_all_deplibs=$link_all_deplibs_F77
# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -15646,11 +15720,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15649: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15723: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:15653: \$? = $ac_status" >&5
+ echo "$as_me:15727: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -15914,11 +15988,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15917: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15991: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:15921: \$? = $ac_status" >&5
+ echo "$as_me:15995: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16018,11 +16092,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16021: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16095: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16025: \$? = $ac_status" >&5
+ echo "$as_me:16099: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -17483,10 +17557,31 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 17564 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -17870,6 +17965,9 @@ CC=$lt_compiler_GCJ
# Is the compiler the GNU C compiler?
with_gcc=$GCC_GCJ
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
# An ERE matcher.
EGREP=$lt_EGREP
@@ -18003,11 +18101,11 @@ striplib=$lt_striplib
# Dependencies to place before the objects being linked to create a
# shared library.
-predep_objects=$lt_predep_objects_GCJ
+predep_objects=\`echo $lt_predep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place after the objects being linked to create a
# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
+postdep_objects=\`echo $lt_postdep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place before the objects being linked to create a
# shared library.
@@ -18019,7 +18117,7 @@ postdeps=$lt_postdeps_GCJ
# The library search path used internally by the compiler when linking
# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
@@ -18099,7 +18197,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
link_all_deplibs=$link_all_deplibs_GCJ
# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -18351,6 +18449,9 @@ CC=$lt_compiler_RC
# Is the compiler the GNU C compiler?
with_gcc=$GCC_RC
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
# An ERE matcher.
EGREP=$lt_EGREP
@@ -18484,11 +18585,11 @@ striplib=$lt_striplib
# Dependencies to place before the objects being linked to create a
# shared library.
-predep_objects=$lt_predep_objects_RC
+predep_objects=\`echo $lt_predep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place after the objects being linked to create a
# shared library.
-postdep_objects=$lt_postdep_objects_RC
+postdep_objects=\`echo $lt_postdep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place before the objects being linked to create a
# shared library.
@@ -18500,7 +18601,7 @@ postdeps=$lt_postdeps_RC
# The library search path used internally by the compiler when linking
# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
@@ -18580,7 +18681,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
link_all_deplibs=$link_all_deplibs_RC
# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -23088,6 +23189,13 @@ schemadir=/$PACKAGE_NAME/schema
# relative to libdir
perldir=/$PACKAGE_NAME/perl
+# default user, group
+defaultuser=nobody
+defaultgroup=nobody
+
+
+
+
@@ -23133,7 +23241,6 @@ else
fi
-shared_lib_suffix=.so
# Deal with platform dependent defines
# relative to sysconfdir
initdir=/rc.d
@@ -23267,7 +23374,6 @@ cat >>confdefs.h <<\_ACEOF
#define _HPUX_SOURCE 1
_ACEOF
- shared_lib_suffix=.sl
platform="hpux"
;;
sparc-sun-solaris*)
@@ -23353,7 +23459,6 @@ esac
-
if test "$platform" = "hpux"; then
HPUX_TRUE=
HPUX_FALSE='#'
@@ -25889,6 +25994,7 @@ s,@ac_ct_CC@,$ac_ct_CC,;t t
s,@CCDEPMODE@,$CCDEPMODE,;t t
s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+s,@SED@,$SED,;t t
s,@EGREP@,$EGREP,;t t
s,@LN_S@,$LN_S,;t t
s,@ECHO@,$ECHO,;t t
@@ -25923,6 +26029,8 @@ s,@serverplugindir@,$serverplugindir,;t t
s,@scripttemplatedir@,$scripttemplatedir,;t t
s,@perldir@,$perldir,;t t
s,@infdir@,$infdir,;t t
+s,@defaultuser@,$defaultuser,;t t
+s,@defaultgroup@,$defaultgroup,;t t
s,@instconfigdir@,$instconfigdir,;t t
s,@WINNT_TRUE@,$WINNT_TRUE,;t t
s,@WINNT_FALSE@,$WINNT_FALSE,;t t
@@ -25932,7 +26040,6 @@ s,@LIBDL@,$LIBDL,;t t
s,@LIBCSTD@,$LIBCSTD,;t t
s,@LIBCRUN@,$LIBCRUN,;t t
s,@initdir@,$initdir,;t t
-s,@shared_lib_suffix@,$shared_lib_suffix,;t t
s,@HPUX_TRUE@,$HPUX_TRUE,;t t
s,@HPUX_FALSE@,$HPUX_FALSE,;t t
s,@SOLARIS_TRUE@,$SOLARIS_TRUE,;t t
diff --git a/configure.ac b/configure.ac
index c53241de..69574876 100644
--- a/configure.ac
+++ b/configure.ac
@@ -197,6 +197,10 @@ schemadir=/$PACKAGE_NAME/schema
# relative to libdir
perldir=/$PACKAGE_NAME/perl
+# default user, group
+defaultuser=nobody
+defaultgroup=nobody
+
AC_SUBST(configdir)
AC_SUBST(sampledatadir)
AC_SUBST(propertydir)
@@ -207,6 +211,9 @@ AC_SUBST(scripttemplatedir)
AC_SUBST(perldir)
AC_SUBST(infdir)
+AC_SUBST(defaultuser)
+AC_SUBST(defaultgroup)
+
# check for --with-instconfigdir
AC_MSG_CHECKING(for --with-instconfigdir)
AC_ARG_WITH(instconfigdir,
@@ -228,7 +235,6 @@ AC_SUBST(instconfigdir)
# cygnus, mingw, or the like and using cmd.exe as the shell
AM_CONDITIONAL([WINNT], false)
-shared_lib_suffix=.so
# Deal with platform dependent defines
# relative to sysconfdir
initdir=/rc.d
@@ -266,7 +272,6 @@ case $host in
AC_DEFINE([OS_hpux], [1], [OS HP-UX])
AC_DEFINE([_POSIX_C_SOURCE], [199506L], [POSIX revision])
AC_DEFINE([_HPUX_SOURCE], [1], [Source namespace])
- shared_lib_suffix=.sl
platform="hpux"
;;
sparc-sun-solaris*)
@@ -302,7 +307,6 @@ dnl Cstd and Crun are required to link any C++ related code
;;
esac
AC_SUBST(initdir)
-AC_SUBST(shared_lib_suffix)
AM_CONDITIONAL(HPUX,test "$platform" = "hpux")
AM_CONDITIONAL(SOLARIS,test "$platform" = "solaris")
diff --git a/ldap/admin/src/scripts/DialogManager.pm b/ldap/admin/src/scripts/DialogManager.pm
index 7c68cdac..bbf85c9f 100644
--- a/ldap/admin/src/scripts/DialogManager.pm
+++ b/ldap/admin/src/scripts/DialogManager.pm
@@ -94,6 +94,10 @@ sub isBack {
my $self = shift;
my $ans = shift;
+ if (!$ans) {
+ return 0;
+ }
+
# the word "back"
if ($ans =~ /back/i) {
return 1;
diff --git a/ldap/admin/src/scripts/Inf.pm b/ldap/admin/src/scripts/Inf.pm
index b5f10136..4c6bd2c6 100644
--- a/ldap/admin/src/scripts/Inf.pm
+++ b/ldap/admin/src/scripts/Inf.pm
@@ -67,7 +67,7 @@ sub read {
# and the value is the config param value
my $self = shift;
my $filename = shift;
- my $curSection;
+ my $curSection = "";
if ($filename) {
$self->{filename} = $filename;
@@ -75,17 +75,36 @@ sub read {
$filename = $self->{filename};
}
+ my $incontinuation = 0;
+ my $curkey;
open INF, $filename or die "Error: could not open inf file $filename: $!";
while (<INF>) {
- # e.g. [General]
- if (/^\[(.*?)\]/) {
+ my $iscontinuation;
+ chop; # trim trailing newline
+ if (/^\s*$/) { # skip blank/empty lines
+ $incontinuation = 0;
+ next;
+ }
+ if (/^\s*\#/) { # skip comment lines
+ $incontinuation = 0;
+ next;
+ }
+ if (/\\$/) { # line ends in \ - continued on next line
+ chop;
+ $iscontinuation = 1;
+ }
+ if ($incontinuation) {
+ $self->{$curSection}->{$curkey} .= "\n" . $_; # add line in entirety to current value
+ } elsif (/^\[(.*?)\]/) { # e.g. [General]
$curSection = $1;
- } elsif (/^\s*$/) {
- next; # skip blank lines
- } elsif (/^\s*\#/) {
- next; # skip comment lines
- } elsif (/^\s*(.*?)\s*=\s*(.*?)\s*$/) {
- $self->{$curSection}->{$1} = $2;
+ } elsif (/^\s*(.*?)\s*=\s*(.*?)\s*$/) { # key = value
+ $curkey = $1;
+ $self->{$curSection}->{$curkey} = $2;
+ }
+ if ($iscontinuation) { # if line ends with a backslash, continue the data on the next line
+ $incontinuation = 1;
+ } else {
+ $incontinuation = 0;
}
}
close INF;
diff --git a/ldap/admin/src/scripts/Setup.pm.in b/ldap/admin/src/scripts/Setup.pm.in
index 2e1ea646..f1a60719 100644
--- a/ldap/admin/src/scripts/Setup.pm.in
+++ b/ldap/admin/src/scripts/Setup.pm.in
@@ -111,6 +111,7 @@ EOF
sub new {
my $type = shift;
my $self = {};
+ $self->{res} = shift;
my ($debuglevel, $silent, $inffile, $keep, $preonly, $logfile);
my @otherargs;
@@ -147,7 +148,7 @@ sub new {
# arguments override those passed in via an inf file - this
# allows the reuse of .inf files with some parameters overridden
for (@ARGV) {
- if (/^(\w+)\.(\w+)=(.*)$/) { # e.g. section.param=value
+ if (/^(\w_-+)\.(\w_-+)=(.*)$/) { # e.g. section.param=value
$self->{inf}->{$1}->{$2} = $3;
} else { # error
print STDERR "Error: unknown command line option $_\n";
@@ -176,6 +177,11 @@ sub log {
# if you use msg like this:
# msg($WARN, "some message")
# it will go to the screen and to the log at the $WARN level
+# all messages are localizable - you must define a resource key
+# the first string passed to this method is a resource key
+# additional strings are used as "arguments" to that resource key
+# if you want to print un-localizable messages, use debug or write
+# directly to the log or screen
sub msg {
my $self = shift;
my $level = shift;
@@ -189,16 +195,16 @@ sub msg {
unshift @text, $level;
$level = $INFO;
}
+ my $string = $self->{res}->getText(@text);
if ($level) {
- $self->log($level, @text);
+ $self->log($level, $string);
}
- print @text;
+ print $string;
}
sub doExit {
my $self = shift;
- $self->msg($FATAL, "Exiting . . .\n");
- $self->msg("Log file is " . $self->{log}->{filename} . "\n");
+ $self->msg($FATAL, 'setup_exiting', $self->{log}->{filename});
exit 1;
}
diff --git a/ldap/admin/src/scripts/SetupDialogs.pm b/ldap/admin/src/scripts/SetupDialogs.pm.in
index 360c780c..86f9ebae 100644
--- a/ldap/admin/src/scripts/SetupDialogs.pm
+++ b/ldap/admin/src/scripts/SetupDialogs.pm.in
@@ -216,7 +216,7 @@ my $usergroup = new Dialog (
my $username = $self->{manager}->{inf}->{General}->{SuiteSpotUserID};
if (!$username) {
if ($> == 0) { # if root, use the default user
- $username = "\@defaultuser\@";
+ $username = "@defaultuser@";
} else { # if not root, use the user's uid
$username = getlogin;
}
@@ -226,7 +226,7 @@ my $usergroup = new Dialog (
my $groupname = $self->{manager}->{inf}->{General}->{SuiteSpotGroup};
if (!$groupname) {
if ($> == 0) { # if root, use the default group
- $groupname = "\@defaultgroup\@";
+ $groupname = "@defaultgroup@";
} else { # if not root, use the user's gid
$groupname = getgrgid $(;
}
diff --git a/ldap/admin/src/scripts/Util.pm b/ldap/admin/src/scripts/Util.pm.in
index 5217c198..7897c5ab 100644
--- a/ldap/admin/src/scripts/Util.pm
+++ b/ldap/admin/src/scripts/Util.pm.in
@@ -46,9 +46,11 @@ use Mozilla::LDAP::LDIF;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(portAvailable getAvailablePort isValidDN addSuffix getMappedEntries
- process_maptbl check_and_add_entry getMappedEntries);
+ process_maptbl check_and_add_entry getMappedEntries
+ getHashedPassword);
@EXPORT_OK = qw(portAvailable getAvailablePort isValidDN addSuffix getMappedEntries
- process_maptbl check_and_add_entry getMappedEntries);
+ process_maptbl check_and_add_entry getMappedEntries
+ getHashedPassword);
use strict;
@@ -88,7 +90,7 @@ sub isValidDN {
}
sub debug {
- print @_, "\n";
+# print @_, "\n";
}
# delete the subtree starting from the passed entry
@@ -143,10 +145,9 @@ sub comp_entries
next if ( $ignorelist{lc($akey)} );
my $aval0 = $e0->{$akey};
my $aval1 = $e1->{$akey};
- my $amin;
- my $amax;
my $a0max = $#{$aval0};
my $a1max = $#{$aval1};
+ my $amin = $#{$aval0};
if ( $a0max != $a1max )
{
if ( $speciallist{lc($akey)} )
@@ -155,12 +156,10 @@ sub comp_entries
if ( $a0max < $a1max )
{
$amin = $a0max;
- $amax = $a1max;
}
else
{
$amin = $a1max;
- $amax = $a0max;
}
}
else
@@ -168,7 +167,7 @@ sub comp_entries
$rc = -1;
return $rc;
}
- }
+ }
my @sval0 = sort { $a cmp $b } @{$aval0};
my @sval1 = sort { $a cmp $b } @{$aval1};
for ( my $i = 0; $i <= $amin; $i++ )
@@ -609,4 +608,23 @@ sub process_maptbl
return $mapper;
}
+sub getHashedPassword {
+ my $pwd = shift;
+ my $alg = shift;
+
+ if ($pwd =~ /\{\w+\}.+/) {
+ return $pwd; # already hashed
+ }
+
+ my $cmd = "@bindir@/pwdhash";
+ if ($alg) {
+ $cmd .= " -s $alg";
+ }
+ $cmd .= " \'$pwd\'";
+ my $hashedpwd = `$cmd`;
+ chomp($hashedpwd);
+
+ return $hashedpwd;
+}
+
1;
diff --git a/ldap/admin/src/scripts/setup-ds.res.in b/ldap/admin/src/scripts/setup-ds.res.in
index 80eb9fde..1915be3c 100644
--- a/ldap/admin/src/scripts/setup-ds.res.in
+++ b/ldap/admin/src/scripts/setup-ds.res.in
@@ -85,3 +85,5 @@ backend_already_exists = A database backend with the name '%s' already exists.
suffix_already_exists = The suffix '%s' already exists. Config entry DN '%s'.\n\n
error_creating_suffix_backend = Could not create the suffix '%s'. There was an error creating the backend database named '%s' for the suffix. Error: %s\n\n
error_creating_suffix = Could not create the suffix '%s'. Error: %s\n\n
+
+setup_exiting = Exiting . . .\nLog file is '%s'\n\n
diff --git a/ldap/cm/newinst/slapd.inf.in b/ldap/cm/newinst/slapd.inf.in
index 0393da74..bc84c6e6 100644
--- a/ldap/cm/newinst/slapd.inf.in
+++ b/ldap/cm/newinst/slapd.inf.in
@@ -47,12 +47,14 @@ InstanceNamePrefix= Directory Server
NickName= slapd
Version= @PACKAGE_VERSION@
Compatible= 1.0
-BuildNumber= @BUILDNUM@
-Expires= 0
-Security= domestic
-Vendor= @vendor@
+BuildNumber= @NQBUILD_NUM@
Description= @capbrand@ Directory Server
ProductName=Directory Server
+Vendor= @vendor@
+# the rest of these are obsolete, but left here for
+# compatability with the old setuputil
+Expires= 0
+Security= domestic
IsDirLite=false
PrePreInstall= dsktune
PreInstall= ns-config
diff --git a/ldap/ldif/template-bitwise.ldif.in b/ldap/ldif/template-bitwise.ldif.in
new file mode 100644
index 00000000..6087fc2e
--- /dev/null
+++ b/ldap/ldif/template-bitwise.ldif.in
@@ -0,0 +1,10 @@
+dn: cn=Bitwise Plugin,cn=plugins,cn=config
+objectClass: top
+objectClass: nsSlapdPlugin
+objectClass: extensibleObject
+cn: Bitwise Plugin
+nsslapd-pluginPath: libbitwise-plugin
+nsslapd-pluginInitfunc: bitwise_init
+nsslapd-pluginType: matchingRule
+nsslapd-pluginEnabled: on
+
diff --git a/ldap/ldif/template-dnaplugin.ldif.in b/ldap/ldif/template-dnaplugin.ldif.in
new file mode 100644
index 00000000..391afe64
--- /dev/null
+++ b/ldap/ldif/template-dnaplugin.ldif.in
@@ -0,0 +1,11 @@
+dn: cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+objectclass: nsContainer
+cn: Distributed Numeric Assignment Plugin
+nsslapd-plugininitfunc: dna_init
+nsslapd-plugintype: preoperation
+nsslapd-pluginenabled: off
+nsslapd-pluginPath: libdna-plugin
+
diff --git a/ldap/ldif/template-dse.ldif.in b/ldap/ldif/template-dse.ldif.in
new file mode 100644
index 00000000..42313e6e
--- /dev/null
+++ b/ldap/ldif/template-dse.ldif.in
@@ -0,0 +1,773 @@
+dn: cn=config
+cn: config
+objectclass:top
+objectclass:extensibleObject
+objectclass:nsslapdConfig
+nsslapd-schemadir: %schema_dir%
+nsslapd-lockdir: %lock_dir%
+nsslapd-tmpdir: %tmp_dir%
+nsslapd-certdir: %cert_dir%
+nsslapd-saslpath: %sasl_path%
+nsslapd-accesslog-logging-enabled: on
+nsslapd-accesslog-maxlogsperdir: 10
+nsslapd-accesslog-mode: 600
+nsslapd-accesslog-maxlogsize: 100
+nsslapd-accesslog-logrotationtime: 1
+nsslapd-accesslog-logrotationtimeunit: day
+nsslapd-accesslog-logrotationsync-enabled: off
+nsslapd-accesslog-logrotationsynchour: 0
+nsslapd-accesslog-logrotationsyncmin: 0
+nsslapd-accesslog: %log_dir%/access
+nsslapd-enquote-sup-oc: off
+nsslapd-localhost: %fqdn%
+nsslapd-schemacheck: 1
+nsslapd-rewrite-rfc1274: off
+nsslapd-return-exact-case: on
+nsslapd-ssl-check-hostname: on
+nsslapd-port: %ds_port%
+nsslapd-localuser: %ds_user%
+nsslapd-errorlog-logging-enabled: on
+nsslapd-errorlog-mode: 600
+nsslapd-errorlog-maxlogsperdir: 2
+nsslapd-errorlog-maxlogsize: 100
+nsslapd-errorlog-logrotationtime: 1
+nsslapd-errorlog-logrotationtimeunit: week
+nsslapd-errorlog-logrotationsync-enabled: off
+nsslapd-errorlog-logrotationsynchour: 0
+nsslapd-errorlog-logrotationsyncmin: 0
+nsslapd-errorlog: %log_dir%/errors
+nsslapd-auditlog: %log_dir%/audit
+nsslapd-auditlog-mode: 600
+nsslapd-auditlog-maxlogsize: 100
+nsslapd-auditlog-logrotationtime: 1
+nsslapd-auditlog-logrotationtimeunit: day
+nsslapd-rootdn: %rootdn%
+nsslapd-maxdescriptors: 1024
+nsslapd-max-filter-nest-level: 40
+nsslapd-rootpw: %ds_passwd%
+
+dn: cn=plugins, cn=config
+objectclass: top
+objectclass: nsContainer
+cn: plugins
+
+dn: cn=Password Storage Schemes,cn=plugins, cn=config
+objectclass: top
+objectclass: nsContainer
+cn: Password Storage Schemes
+
+dn: cn=SSHA,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: SSHA
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: ssha_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=SSHA256,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: SSHA256
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: ssha256_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=SSHA384,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: SSHA384
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: ssha384_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=SSHA512,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: SSHA512
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: ssha512_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=SHA,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: SHA
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: sha_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=SHA256,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: SHA256
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: sha256_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=SHA384,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: SHA384
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: sha384_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=SHA512,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: SHA512
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: sha512_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=CRYPT,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: CRYPT
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: crypt_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=MD5,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: MD5
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: md5_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=CLEAR,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: CLEAR
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: clear_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=NS-MTA-MD5,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+cn: NS-MTA-MD5
+nsslapd-pluginpath: libpwdstorage-plugin
+nsslapd-plugininitfunc: ns_mta_md5_pwd_storage_scheme_init
+nsslapd-plugintype: pwdstoragescheme
+nsslapd-pluginenabled: on
+
+dn: cn=DES,cn=Password Storage Schemes,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: DES
+nsslapd-pluginpath: libdes-plugin
+nsslapd-plugininitfunc: des_init
+nsslapd-plugintype: reverpwdstoragescheme
+nsslapd-pluginenabled: on
+nsslapd-pluginarg0: nsmultiplexorcredentials
+nsslapd-pluginarg1: nsds5ReplicaCredentials
+nsslapd-pluginid: des-storage-scheme
+
+dn: cn=Case Ignore String Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Case Ignore String Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: cis_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Case Exact String Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Case Exact String Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: ces_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Space Insensitive String Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Space Insensitive String Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: sicis_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Binary Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Binary Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: bin_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Octet String Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Octet String Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: octetstring_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Boolean Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Boolean Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: boolean_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Generalized Time Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Generalized Time Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: time_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Telephone Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Telephone Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: tel_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Integer Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Integer Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: int_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Distinguished Name Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Distinguished Name Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: dn_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=OID Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: OID Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: oid_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=URI Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: URI Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: uri_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=JPEG Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: JPEG Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: jpeg_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Country String Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Country String Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: country_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=Postal Address Syntax,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Postal Address Syntax
+nsslapd-pluginpath: libsyntax-plugin
+nsslapd-plugininitfunc: postal_init
+nsslapd-plugintype: syntax
+nsslapd-pluginenabled: on
+
+dn: cn=State Change Plugin,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: State Change Plugin
+nsslapd-pluginpath: libstatechange-plugin
+nsslapd-plugininitfunc: statechange_init
+nsslapd-plugintype: postoperation
+nsslapd-pluginenabled: on
+
+dn: cn=Roles Plugin,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Roles Plugin
+nsslapd-pluginpath: libroles-plugin
+nsslapd-plugininitfunc: roles_init
+nsslapd-plugintype: object
+nsslapd-pluginenabled: on
+nsslapd-plugin-depends-on-type: database
+nsslapd-plugin-depends-on-named: State Change Plugin
+nsslapd-plugin-depends-on-named: Views
+
+dn: cn=ACL Plugin,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: ACL Plugin
+nsslapd-pluginpath: libacl-plugin
+nsslapd-plugininitfunc: acl_init
+nsslapd-plugintype: accesscontrol
+nsslapd-pluginenabled: on
+nsslapd-plugin-depends-on-type: database
+
+dn: cn=ACL preoperation,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: ACL preoperation
+nsslapd-pluginpath: libacl-plugin
+nsslapd-plugininitfunc: acl_preopInit
+nsslapd-plugintype: preoperation
+nsslapd-pluginenabled: on
+nsslapd-plugin-depends-on-type: database
+
+dn: cn=Legacy Replication Plugin,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Legacy Replication Plugin
+nsslapd-pluginpath: libreplication-plugin
+nsslapd-plugininitfunc: replication_legacy_plugin_init
+nsslapd-plugintype: object
+nsslapd-pluginenabled: on
+nsslapd-plugin-depends-on-type: database
+nsslapd-plugin-depends-on-named: Multimaster Replication Plugin
+nsslapd-plugin-depends-on-named: Class of Service
+
+dn: cn=Multimaster Replication Plugin,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Multimaster Replication Plugin
+nsslapd-pluginpath: libreplication-plugin
+nsslapd-plugininitfunc: replication_multimaster_plugin_init
+nsslapd-plugintype: object
+nsslapd-pluginenabled: on
+nsslapd-plugin-depends-on-named: ldbm database
+nsslapd-plugin-depends-on-named: DES
+nsslapd-plugin-depends-on-named: Class of Service
+
+dn: cn=Retro Changelog Plugin,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Retro Changelog Plugin
+nsslapd-pluginpath: libretrocl-plugin
+nsslapd-plugininitfunc: retrocl_plugin_init
+nsslapd-plugintype: object
+nsslapd-pluginenabled: off
+nsslapd-plugin-depends-on-type: database
+nsslapd-plugin-depends-on-named: Class of Service
+
+dn: cn=Class of Service,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Class of Service
+nsslapd-pluginpath: libcos-plugin
+nsslapd-plugininitfunc: cos_init
+nsslapd-plugintype: object
+nsslapd-pluginenabled: on
+nsslapd-plugin-depends-on-type: database
+nsslapd-plugin-depends-on-named: State Change Plugin
+nsslapd-plugin-depends-on-named: Views
+
+dn: cn=Views,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Views
+nsslapd-pluginpath: libviews-plugin
+nsslapd-plugininitfunc: views_init
+nsslapd-plugintype: object
+nsslapd-pluginenabled: on
+nsslapd-plugin-depends-on-type: database
+nsslapd-plugin-depends-on-named: State Change Plugin
+
+dn: cn=referential integrity postoperation,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: referential integrity postoperation
+nsslapd-pluginpath: libreferint-plugin
+nsslapd-plugininitfunc: referint_postop_init
+nsslapd-plugintype: postoperation
+nsslapd-pluginenabled: off
+nsslapd-pluginArg0: 0
+nsslapd-pluginArg1: %log_dir%/referint
+nsslapd-pluginArg2: 0
+nsslapd-pluginArg3: member
+nsslapd-pluginArg4: uniquemember
+nsslapd-pluginArg5: owner
+nsslapd-pluginArg6: seeAlso
+nsslapd-plugin-depends-on-type: database
+
+dn: cn=attribute uniqueness,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: attribute uniqueness
+nsslapd-pluginpath: libattr-unique-plugin
+nsslapd-plugininitfunc: NSUniqueAttr_Init
+nsslapd-plugintype: preoperation
+nsslapd-pluginenabled: off
+nsslapd-pluginarg0: uid
+nsslapd-pluginarg1: %ds_suffix%
+nsslapd-plugin-depends-on-type: database
+
+dn: cn=7-bit check,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: 7-bit check
+nsslapd-pluginpath: libattr-unique-plugin
+nsslapd-plugininitfunc: NS7bitAttr_Init
+nsslapd-plugintype: preoperation
+nsslapd-pluginenabled: on
+nsslapd-pluginarg0: uid
+nsslapd-pluginarg1: mail
+nsslapd-pluginarg2: userpassword
+nsslapd-pluginarg3: ,
+nsslapd-pluginarg4: %ds_suffix%
+nsslapd-plugin-depends-on-type: database
+
+dn: cn=Internationalization Plugin,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Internationalization Plugin
+nsslapd-pluginpath: libcollation-plugin
+nsslapd-plugininitfunc: orderingRule_init
+nsslapd-plugintype: matchingRule
+nsslapd-pluginenabled: on
+nsslapd-pluginarg0: @configdir@/slapd-collations.conf
+
+dn: cn=HTTP Client,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: HTTP Client
+nsslapd-pluginpath: libhttp-client-plugin
+nsslapd-plugininitfunc: http_client_init
+nsslapd-plugintype: preoperation
+nsslapd-pluginenabled: on
+nsslapd-plugin-depends-on-type: database
+
+dn: cn=Pass Through Authentication,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: Pass Through Authentication
+nsslapd-pluginpath: libpassthru-plugin
+nsslapd-plugininitfunc: passthruauth_init
+nsslapd-plugintype: preoperation
+nsslapd-pluginenabled: off
+nsslapd-plugin-depends-on-type: database
+
+dn: cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: ldbm database
+nsslapd-pluginpath: libback-ldbm
+nsslapd-plugininitfunc: ldbm_back_init
+nsslapd-plugintype: database
+nsslapd-pluginenabled: on
+nsslapd-plugin-depends-on-type: Syntax
+nsslapd-plugin-depends-on-type: matchingRule
+
+dn: cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: extensibleObject
+cn: config
+nsslapd-mode: 600
+nsslapd-directory: %db_dir%
+
+dn: cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: extensibleObject
+cn: default indexes
+
+dn: cn=aci,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: aci
+nssystemindex: true
+nsindextype: pres
+
+dn: cn=cn,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: cn
+nssystemindex: false
+nsindextype: pres
+nsindextype: eq
+nsindextype: sub
+
+dn: cn=entrydn,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: entrydn
+nssystemindex: true
+nsindextype: eq
+
+dn: cn=givenName,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: givenName
+nssystemindex: false
+nsindextype: pres
+nsindextype: eq
+nsindextype: sub
+
+dn: cn=mail,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: mail
+nssystemindex: false
+nsindextype: pres
+nsindextype: eq
+nsindextype: sub
+
+dn: cn=mailAlternateAddress,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: mailAlternateAddress
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=mailHost,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: mailHost
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=member,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: member
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=nsCalXItemId,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: nsCalXItemId
+nssystemindex: false
+nsindextype: pres
+nsindextype: eq
+nsindextype: sub
+
+dn: cn=nsLIProfileName,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: nsLIProfileName
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=nsUniqueId,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: nsUniqueId
+nssystemindex: true
+nsindextype: eq
+
+dn: cn=nswcalCALID,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: nswcalCALID
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=numsubordinates,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: numsubordinates
+nssystemindex: true
+nsindextype: pres
+
+dn: cn=objectclass,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: objectclass
+nssystemindex: true
+nsindextype: eq
+
+dn: cn=owner,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: owner
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=parentid,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: parentid
+nssystemindex: true
+nsindextype: eq
+
+dn: cn=pipstatus,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: pipstatus
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=pipuid,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: pipuid
+nssystemindex: false
+nsindextype: pres
+
+dn: cn=seeAlso,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: seeAlso
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=sn,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: sn
+nssystemindex: false
+nsindextype: pres
+nsindextype: eq
+nsindextype: sub
+
+dn: cn=telephoneNumber,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: telephoneNumber
+nssystemindex: false
+nsindextype: pres
+nsindextype: eq
+nsindextype: sub
+
+dn: cn=uid,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: uid
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=ntUniqueId,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: ntUniqueId
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=ntUserDomainId,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: ntUserDomainId
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=uniquemember,cn=default indexes, cn=config,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsIndex
+cn: uniquemember
+nssystemindex: false
+nsindextype: eq
+
+dn: cn=monitor, cn=ldbm database, cn=plugins, cn=config
+objectclass: top
+objectclass: extensibleObject
+cn: monitor
+
+dn: cn=database, cn=monitor, cn=ldbm database, cn=plugins, cn=config
+objectclass: top
+objectclass: extensibleObject
+cn: database
+
+dn: cn=chaining database,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+cn: chaining database
+nsslapd-pluginpath: libchainingdb-plugin
+nsslapd-plugininitfunc: chaining_back_init
+nsslapd-plugintype: database
+nsslapd-pluginenabled: on
+
+dn: cn=config,cn=chaining database,cn=plugins,cn=config
+objectclass: top
+objectclass: extensibleObject
+cn: config
+nsTransmittedControls: 2.16.840.1.113730.3.4.2
+nsTransmittedControls: 2.16.840.1.113730.3.4.9
+nsTransmittedControls: 1.2.840.113556.1.4.473
+nsTransmittedControls: 1.3.6.1.4.1.1466.29539.12
+nsPossibleChainingComponents: cn=resource limits,cn=components,cn=config
+nsPossibleChainingComponents: cn=certificate-based authentication,cn=components,cn=config
+nsPossibleChainingComponents: cn=ACL Plugin,cn=plugins,cn=config
+nsPossibleChainingComponents: cn=old plugin,cn=plugins,cn=config
+nsPossibleChainingComponents: cn=referential integrity postoperation,cn=plugins,cn=config
+nsPossibleChainingComponents: cn=attribute uniqueness,cn=plugins,cn=config
+
+dn: cn=mapping tree,cn=config
+objectclass: top
+objectclass: extensibleObject
+cn: mapping tree
+
+dn: cn=tasks,cn=config
+objectclass: top
+objectclass: extensibleObject
+cn: tasks
+
diff --git a/ldap/ldif/template-ldapi-autobind.ldif.in b/ldap/ldif/template-ldapi-autobind.ldif.in
new file mode 100644
index 00000000..314e6bc2
--- /dev/null
+++ b/ldap/ldif/template-ldapi-autobind.ldif.in
@@ -0,0 +1,22 @@
+dn: cn=config
+changetype: modify
+replace: nsslapd-ldapiautobind
+nsslapd-ldapiautobind: on
+-
+replace: nsslapd-ldapimaprootdn
+nsslapd-ldapimaprootdn: %rootdn%
+-
+replace: nsslapd-ldapimaptoentries
+nsslapd-ldapimaptoentries: off
+-
+replace: nsslapd-ldapiuidnumbertype
+nsslapd-ldapiuidnumbertype: uidNumber
+-
+replace: nsslapd-ldapigidnumbertype
+nsslapd-ldapigidnumbertype: gidNumber
+-
+replace: nsslapd-ldapientrysearchbase
+nsslapd-ldapientrysearchbase: %ds_suffix%
+-
+replace: nsslapd-ldapiautodnsuffix
+nsslapd-ldapiautodnsuffix: cn=peercred,cn=external,cn=auth
diff --git a/ldap/ldif/template-ldapi-default.ldif.in b/ldap/ldif/template-ldapi-default.ldif.in
new file mode 100644
index 00000000..93b76789
--- /dev/null
+++ b/ldap/ldif/template-ldapi-default.ldif.in
@@ -0,0 +1,26 @@
+dn: cn=config
+changetype: modify
+replace: nsslapd-ldapifilepath
+nsslapd-ldapifilepath: %run_dir%/slapd-%dsid%.socket
+-
+replace: nsslapd-ldapilisten
+nsslapd-ldapilisten: off
+-
+replace: nsslapd-ldapimaprootdn
+nsslapd-ldapimaprootdn: cn=Directory Manager
+-
+replace: nsslapd-ldapimaptoentries
+nsslapd-ldapimaptoentries: off
+-
+replace: nsslapd-ldapiuidnumbertype
+nsslapd-ldapiuidnumbertype: uidNumber
+-
+replace: nsslapd-ldapigidnumbertype
+nsslapd-ldapigidnumbertype: gidNumber
+-
+replace: nsslapd-ldapientrysearchbase
+nsslapd-ldapientrysearchbase: dc=example, dc=com
+-
+replace: nsslapd-ldapiautodnsuffix
+nsslapd-ldapiautodnsuffix: cn=peercred,cn=external,cn=auth
+
diff --git a/ldap/ldif/template-ldapi.ldif.in b/ldap/ldif/template-ldapi.ldif.in
new file mode 100644
index 00000000..c41af6ad
--- /dev/null
+++ b/ldap/ldif/template-ldapi.ldif.in
@@ -0,0 +1,7 @@
+dn: cn=config
+changetype: modify
+replace: nsslapd-ldapifilepath
+nsslapd-ldapifilepath: %ldapifilepath%
+-
+replace: nsslapd-ldapilisten
+nsslapd-ldapilisten: on
diff --git a/ldap/ldif/template-pampta.ldif.in b/ldap/ldif/template-pampta.ldif.in
new file mode 100644
index 00000000..2875df7f
--- /dev/null
+++ b/ldap/ldif/template-pampta.ldif.in
@@ -0,0 +1,20 @@
+dn: cn=PAM Pass Through Auth,cn=plugins,cn=config
+objectclass: top
+objectclass: nsSlapdPlugin
+objectclass: extensibleObject
+objectclass: pamConfig
+cn: PAM Pass Through Auth
+nsslapd-pluginpath: libpam-passthru-plugin
+nsslapd-plugininitfunc: pam_passthruauth_init
+nsslapd-plugintype: preoperation
+nsslapd-pluginenabled: off
+nsslapd-pluginLoadGlobal: true
+nsslapd-plugin-depends-on-type: database
+pamMissingSuffix: ALLOW
+pamExcludeSuffix: cn=config
+pamIDMapMethod: RDN
+pamIDAttr: notUsedWithRDNMethod
+pamFallback: FALSE
+pamSecure: TRUE
+pamService: ldapserver
+
diff --git a/ldap/ldif/template-suffix-db.ldif.in b/ldap/ldif/template-suffix-db.ldif.in
new file mode 100644
index 00000000..f30ab8ce
--- /dev/null
+++ b/ldap/ldif/template-suffix-db.ldif.in
@@ -0,0 +1,17 @@
+# replace the Suffix token with your suffix e.g. dc=example,dc=com
+# replace the bename token with your backend name e.g. userRoot
+dn: cn=%ds_bename%,cn=ldbm database,cn=plugins,cn=config
+objectclass: top
+objectclass: extensibleObject
+objectclass: nsBackendInstance
+nsslapd-suffix: %ds_suffix%
+cn: %ds_bename%
+
+dn: cn="%ds_suffix%",cn=mapping tree,cn=config
+objectclass: top
+objectclass: extensibleObject
+objectclass: nsMappingTree
+cn: "%ds_suffix%"
+nsslapd-state: backend
+nsslapd-backend: %ds_bename%
+
diff --git a/ldap/servers/slapd/dynalib.c b/ldap/servers/slapd/dynalib.c
index 2bc1c65d..a939996d 100644
--- a/ldap/servers/slapd/dynalib.c
+++ b/ldap/servers/slapd/dynalib.c
@@ -55,15 +55,36 @@ static struct dynalib {
PRLibrary *dl_handle;
} **libs = NULL;
-static void symload_report_error( char *libpath, char *symbol, char *plugin,
+static void symload_report_error( const char *libpath, char *symbol, char *plugin,
int libopen );
+/* construct a full path and name of a plugin
+ very similar to PR_GetLibraryName except that function inserts
+ the string "lib" at the beginning of name, making that function
+ unsuitable for constructing plugin names
+*/
+static char *get_plugin_name(const char *dir, const char *name);
+
+static void free_plugin_name(char *name)
+{
+ PR_smprintf_free(name);
+}
+
void *
sym_load( char *libpath, char *symbol, char *plugin, int report_errors )
{
return sym_load_with_flags(libpath, symbol, plugin, report_errors, PR_FALSE, PR_FALSE);
}
+/* libpath is the pathname from the plugin config entry - it may be an absolute path
+ or a relative path. It does not have to have the shared lib/dll suffix. The
+ PR_GetLibraryName function will create the correct library name and path, including
+ the correct shared library suffix for the platform. So, for example, if you just
+ pass in "libacl-plugin" as the libpath, and you are running on linux, the code
+ will first test for the existence of "libacl-plugin", then will construct the full
+ pathname to load as "PLUGINDIR/libacl-plugin.so" where PLUGINDIR is set during
+ build time to something like /usr/lib/brand/plugins.
+*/
void *
sym_load_with_flags( char *libpath, char *symbol, char *plugin, int report_errors, PRBool load_now, PRBool load_global )
{
@@ -92,9 +113,17 @@ sym_load_with_flags( char *libpath, char *symbol, char *plugin, int report_error
flags |= PR_LD_GLOBAL;
}
+ if (PR_SUCCESS != PR_Access(libpath, PR_ACCESS_READ_OK)) {
+ libSpec.value.pathname = get_plugin_name(PLUGINDIR, libpath);
+ /* then just handle that failure case with symload_report_error below */
+ }
+
if ( (handle = PR_LoadLibraryWithFlags( libSpec, flags )) == NULL ) {
if ( report_errors ) {
- symload_report_error( libpath, symbol, plugin, 0 /* lib not open */ );
+ symload_report_error( libSpec.value.pathname, symbol, plugin, 0 /* lib not open */ );
+ }
+ if (libSpec.value.pathname != libpath) {
+ free_plugin_name((char *)libSpec.value.pathname); /* cast ok - allocated by get_plugin_name */
}
return( NULL );
}
@@ -108,14 +137,17 @@ sym_load_with_flags( char *libpath, char *symbol, char *plugin, int report_error
handle = PR_FindSymbol( libs[i]->dl_handle, symbol );
if ( NULL == handle && report_errors ) {
- symload_report_error( libpath, symbol, plugin, 1 /* lib open */ );
+ symload_report_error( libSpec.value.pathname, symbol, plugin, 1 /* lib open */ );
+ }
+ if (libSpec.value.pathname != libpath) {
+ free_plugin_name((char *)libSpec.value.pathname); /* cast ok - allocated by PR_GetLibraryName */
}
return handle;
}
static void
-symload_report_error( char *libpath, char *symbol, char *plugin, int libopen )
+symload_report_error( const char *libpath, char *symbol, char *plugin, int libopen )
{
char *errtext = NULL;
PRInt32 errlen, err;
@@ -139,3 +171,22 @@ symload_report_error( char *libpath, char *symbol, char *plugin, int libopen )
libpath, plugin, 0 );
}
}
+
+/* PR_GetLibraryName does almost everything we need, and unfortunately
+ a little bit more - it adds "lib" to be beginning of the library
+ name. So we have to strip that part off.
+*/
+static char *
+get_plugin_name(const char *path, const char *lib)
+{
+ char *fullname = PR_GetLibraryName(path, lib);
+ char *ptr = PL_strrstr(fullname, "/lib");
+
+ if (ptr) {
+ ++ptr; /* now points at the "l" */
+ /* just copy the remainder of the string on top of here */
+ memmove(ptr, ptr+3, strlen(ptr+3)+1);
+ }
+
+ return fullname;
+}
diff --git a/ldap/servers/slapd/tools/pwenc.c b/ldap/servers/slapd/tools/pwenc.c
index c833bb2e..16aa4fc4 100644
--- a/ldap/servers/slapd/tools/pwenc.c
+++ b/ldap/servers/slapd/tools/pwenc.c
@@ -80,7 +80,7 @@ FILE *access_logfp;
struct pw_scheme *pwdhashscheme;
int heflag = 0;
-static int slapd_config(const char *configdir);
+static int slapd_config(const char *configdir, const char *configfile);
static int entry_has_attr_and_value(Slapi_Entry *e, const char *attrname, char *value);
static void
@@ -124,6 +124,41 @@ decode( char *orig )
}
+static slapdFrontendConfig_t *
+init_config(char *configdir)
+{
+ char *abs_configdir = NULL;
+ char *configfile = NULL;
+ char errorbuf[SLAPI_DSE_RETURNTEXT_SIZE];
+ slapdFrontendConfig_t *slapdFrontendConfig = NULL;
+
+ if (configdir == NULL) { /* use default */
+ configdir = TEMPLATEDIR;
+ configfile = "template-dse.ldif";
+ }
+ /* kexcoff: quite the same as slapd_bootstrap_config */
+ FrontendConfig_init();
+
+ abs_configdir = rel2abspath( configdir );
+ if ( config_set_configdir( "configdir (-D)", abs_configdir,
+ errorbuf, 1) != LDAP_SUCCESS ) {
+ fprintf( stderr, "%s\n", errorbuf );
+ return( NULL );
+ }
+ slapi_ch_free((void **)&abs_configdir);
+
+ slapdFrontendConfig = getFrontendConfig();
+ if (0 == slapd_config(slapdFrontendConfig->configdir, configfile)) {
+ fprintf(stderr,
+ "The configuration files in directory %s could not be read or were not found. Please refer to the error log or output for more information.\n",
+ slapdFrontendConfig->configdir);
+ return(NULL);
+ }
+
+ return slapdFrontendConfig;
+}
+
+
int
main( argc, argv )
int argc;
@@ -159,31 +194,22 @@ main( argc, argv )
while (( i = getopt( argc, argv, opts )) != EOF ) {
switch ( i ) {
case 'D':
- /* kexcoff: quite the same as slapd_bootstrap_config */
- FrontendConfig_init();
-
- configdir = rel2abspath( optarg );
- if ( config_set_configdir( "configdir (-D)", configdir,
- errorbuf, 1) != LDAP_SUCCESS ) {
- fprintf( stderr, "%s\n", errorbuf );
- return( 1 );
+ if (slapdFrontendConfig) {
+ fprintf(stderr, "The -D configdir argument must be given only once, and must be the first argument given\n");
+ usage(name);
+ return 1;
}
- slapi_ch_free((void **)&configdir);
-
-
- slapdFrontendConfig = getFrontendConfig();
- if (0 == slapd_config(slapdFrontendConfig->configdir)) {
- fprintf(stderr,
- "The configuration files in directory %s could not be read or were not found. Please refer to the error log or output for more information.\n",
- slapdFrontendConfig->configdir);
+ if (!(slapdFrontendConfig = init_config(optarg))) {
return(1);
}
break;
case 's': /* set hash scheme */
if (!slapdFrontendConfig) {
- usage( name );
- return( 1 );
+ if (!(slapdFrontendConfig = init_config(NULL))) {
+ usage( name );
+ return(1);
+ }
}
if (( pwsp = pw_name2scheme( optarg )) == NULL ) {
fprintf( stderr, "%s: unknown hash scheme \"%s\"\n", name,
@@ -194,19 +220,23 @@ main( argc, argv )
case 'c': /* compare encoded password to password */
if (!slapdFrontendConfig) {
- usage( name );
- return( 1 );
+ if (!(slapdFrontendConfig = init_config(NULL))) {
+ usage( name );
+ return(1);
+ }
}
cpwd = optarg;
break;
case 'H': /* password(s) is(are) hex-encoded */
if (!slapdFrontendConfig) {
- usage( name );
- return( 1 );
+ if (!(slapdFrontendConfig = init_config(NULL))) {
+ usage( name );
+ return(1);
}
- heflag = 1;
- break;
+ }
+ heflag = 1;
+ break;
default:
usage( name );
@@ -214,8 +244,10 @@ main( argc, argv )
}
if (!slapdFrontendConfig) {
- usage( name );
- return( 1 );
+ if (!(slapdFrontendConfig = init_config(NULL))) {
+ usage( name );
+ return(1);
+ }
}
if ( cpwd != NULL ) {
@@ -272,7 +304,7 @@ main( argc, argv )
but it only loads password storage scheme plugins
*/
static int
-slapd_config(const char *configdir)
+slapd_config(const char *configdir, const char *givenconfigfile)
{
char configfile[MAXPATHLEN+1];
PRFileInfo prfinfo;
@@ -284,7 +316,11 @@ slapd_config(const char *configdir)
char *lastp = 0;
char *entrystr = 0;
- PR_snprintf(configfile, sizeof(configfile), "%s/%s", configdir, CONFIG_FILENAME);
+ if (!givenconfigfile) {
+ givenconfigfile = CONFIG_FILENAME;
+ }
+
+ PR_snprintf(configfile, sizeof(configfile), "%s/%s", configdir, givenconfigfile);
if ( (rc = PR_GetFileInfo( configfile, &prfinfo )) != PR_SUCCESS )
{
fprintf(stderr,