]> git.sur5r.net Git - openldap/commitdiff
ITS#6698
authorQuanah Gibson-Mount <quanah@openldap.org>
Mon, 3 Jan 2011 23:10:44 +0000 (23:10 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 3 Jan 2011 23:10:44 +0000 (23:10 +0000)
CHANGES
README
build/openldap.m4
configure

diff --git a/CHANGES b/CHANGES
index cfe7a80ea65c863c247faec36f8890621def47d4..c8c45100f330587ded58e83c7a992e4288c093e8 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -18,6 +18,7 @@ OpenLDAP 2.4.24 Engineering
        Fixed liblutil getpass prompts (ITS#6702)
        Fixed ldapsearch segfault with deref (ITS#6638)
        Fixed slapd acl parsing overflow (ITS#6611)
+       Fixed slapd support for BDB 5.0+ (ITS#6698)
        Fixed slapd config leak with olcDbDirectory (ITS#6634)
        Fixed slapd to free controls if needed (ITS#6629)
        Fixed slapd filter leak (ITS#6635)
diff --git a/README b/README
index 2f8fc2a67992dced764cc90a74a39fa9b15508cf..d2f247cee995285f648e8eb3fa1164d7ab3a3200 100644 (file)
--- a/README
+++ b/README
@@ -20,7 +20,7 @@ REQUIRED SOFTWARE
 
     SLAPD:
         BDB and HDB backends require Oracle Berkeley DB 4.4 - 4.8,
-               or 5.0 - 5.1.  It is highly recommended to apply the
+       or 5.0 - 5.1.  It is highly recommended to apply the
         patches from Oracle for a given release.
 
     CLIENTS/CONTRIB ware:
index a5df66c8ef8e842d8439a55fac22e720a388a6f6..b516c6a4d4db1422328bbd4d46b1fa5a2ae55e04 100644 (file)
@@ -357,15 +357,22 @@ dnl Try to locate appropriate library
 AC_DEFUN([OL_BERKELEY_DB_LINK],
 [ol_cv_lib_db=no
 
-if test $ol_cv_bdb_major = 4 ; then
+if test $ol_cv_bdb_major = 5 ; then
+       OL_BERKELEY_DB_TRY(ol_cv_db_db_5_dot_m,[-ldb-5.$ol_cv_bdb_minor])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db5m,[-ldb5$ol_cv_bdb_minor])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db_5m,[-ldb-5$ol_cv_bdb_minor])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db_5_m,[-ldb-5-$ol_cv_bdb_minor])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db_5,[-ldb-5])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db5,[-ldb5])
+elif test $ol_cv_bdb_major = 4 ; then
        OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_m,[-ldb-4.$ol_cv_bdb_minor])
        OL_BERKELEY_DB_TRY(ol_cv_db_db4m,[-ldb4$ol_cv_bdb_minor])
        OL_BERKELEY_DB_TRY(ol_cv_db_db_4m,[-ldb-4$ol_cv_bdb_minor])
        OL_BERKELEY_DB_TRY(ol_cv_db_db_4_m,[-ldb-4-$ol_cv_bdb_minor])
        OL_BERKELEY_DB_TRY(ol_cv_db_db_4,[-ldb-4])
        OL_BERKELEY_DB_TRY(ol_cv_db_db4,[-ldb4])
-       OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb])
 fi
+OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb])
 OL_BERKELEY_DB_TRY(ol_cv_db_none)
 ])
 dnl
index e77d876b5812aa7761edf638bf388d9ed24aa9de..c4e9f057bf066d57caa61d7292d4e915d9b0a699 100755 (executable)
--- a/configure
+++ b/configure
@@ -20281,7 +20281,386 @@ $as_echo "$ol_cv_bdb_compat" >&6; }
 
        ol_cv_lib_db=no
 
-if test $ol_cv_bdb_major = 4 ; then
+if test $ol_cv_bdb_major = 5 ; then
+       if test $ol_cv_lib_db = no ; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Berkeley DB link (-ldb-5.$ol_cv_bdb_minor)" >&5
+$as_echo_n "checking for Berkeley DB link (-ldb-5.$ol_cv_bdb_minor)... " >&6; }
+if test "${ol_cv_db_db_5_dot_m+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+       ol_DB_LIB=-ldb-5.$ol_cv_bdb_minor
+       ol_LIBS=$LIBS
+       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef HAVE_DB_185_H
+# include <db_185.h>
+#else
+# include <db.h>
+#endif
+
+#ifndef DB_VERSION_MAJOR
+# define DB_VERSION_MAJOR 1
+#endif
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+int
+main ()
+{
+
+#if DB_VERSION_MAJOR > 2
+       db_env_create( NULL, 0 );
+#elif DB_VERSION_MAJOR > 1
+       db_appexit( NULL );
+#else
+       (void) dbopen( NULL, 0, 0, 0, NULL);
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ol_cv_db_db_5_dot_m=yes
+else
+  ol_cv_db_db_5_dot_m=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+       LIBS="$ol_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ol_cv_db_db_5_dot_m" >&5
+$as_echo "$ol_cv_db_db_5_dot_m" >&6; }
+
+       if test $ol_cv_db_db_5_dot_m = yes ; then
+               ol_cv_lib_db=-ldb-5.$ol_cv_bdb_minor
+       fi
+fi
+
+       if test $ol_cv_lib_db = no ; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Berkeley DB link (-ldb5$ol_cv_bdb_minor)" >&5
+$as_echo_n "checking for Berkeley DB link (-ldb5$ol_cv_bdb_minor)... " >&6; }
+if test "${ol_cv_db_db5m+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+       ol_DB_LIB=-ldb5$ol_cv_bdb_minor
+       ol_LIBS=$LIBS
+       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef HAVE_DB_185_H
+# include <db_185.h>
+#else
+# include <db.h>
+#endif
+
+#ifndef DB_VERSION_MAJOR
+# define DB_VERSION_MAJOR 1
+#endif
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+int
+main ()
+{
+
+#if DB_VERSION_MAJOR > 2
+       db_env_create( NULL, 0 );
+#elif DB_VERSION_MAJOR > 1
+       db_appexit( NULL );
+#else
+       (void) dbopen( NULL, 0, 0, 0, NULL);
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ol_cv_db_db5m=yes
+else
+  ol_cv_db_db5m=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+       LIBS="$ol_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ol_cv_db_db5m" >&5
+$as_echo "$ol_cv_db_db5m" >&6; }
+
+       if test $ol_cv_db_db5m = yes ; then
+               ol_cv_lib_db=-ldb5$ol_cv_bdb_minor
+       fi
+fi
+
+       if test $ol_cv_lib_db = no ; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Berkeley DB link (-ldb-5$ol_cv_bdb_minor)" >&5
+$as_echo_n "checking for Berkeley DB link (-ldb-5$ol_cv_bdb_minor)... " >&6; }
+if test "${ol_cv_db_db_5m+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+       ol_DB_LIB=-ldb-5$ol_cv_bdb_minor
+       ol_LIBS=$LIBS
+       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef HAVE_DB_185_H
+# include <db_185.h>
+#else
+# include <db.h>
+#endif
+
+#ifndef DB_VERSION_MAJOR
+# define DB_VERSION_MAJOR 1
+#endif
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+int
+main ()
+{
+
+#if DB_VERSION_MAJOR > 2
+       db_env_create( NULL, 0 );
+#elif DB_VERSION_MAJOR > 1
+       db_appexit( NULL );
+#else
+       (void) dbopen( NULL, 0, 0, 0, NULL);
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ol_cv_db_db_5m=yes
+else
+  ol_cv_db_db_5m=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+       LIBS="$ol_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ol_cv_db_db_5m" >&5
+$as_echo "$ol_cv_db_db_5m" >&6; }
+
+       if test $ol_cv_db_db_5m = yes ; then
+               ol_cv_lib_db=-ldb-5$ol_cv_bdb_minor
+       fi
+fi
+
+       if test $ol_cv_lib_db = no ; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Berkeley DB link (-ldb-5-$ol_cv_bdb_minor)" >&5
+$as_echo_n "checking for Berkeley DB link (-ldb-5-$ol_cv_bdb_minor)... " >&6; }
+if test "${ol_cv_db_db_5_m+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+       ol_DB_LIB=-ldb-5-$ol_cv_bdb_minor
+       ol_LIBS=$LIBS
+       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef HAVE_DB_185_H
+# include <db_185.h>
+#else
+# include <db.h>
+#endif
+
+#ifndef DB_VERSION_MAJOR
+# define DB_VERSION_MAJOR 1
+#endif
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+int
+main ()
+{
+
+#if DB_VERSION_MAJOR > 2
+       db_env_create( NULL, 0 );
+#elif DB_VERSION_MAJOR > 1
+       db_appexit( NULL );
+#else
+       (void) dbopen( NULL, 0, 0, 0, NULL);
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ol_cv_db_db_5_m=yes
+else
+  ol_cv_db_db_5_m=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+       LIBS="$ol_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ol_cv_db_db_5_m" >&5
+$as_echo "$ol_cv_db_db_5_m" >&6; }
+
+       if test $ol_cv_db_db_5_m = yes ; then
+               ol_cv_lib_db=-ldb-5-$ol_cv_bdb_minor
+       fi
+fi
+
+       if test $ol_cv_lib_db = no ; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Berkeley DB link (-ldb-5)" >&5
+$as_echo_n "checking for Berkeley DB link (-ldb-5)... " >&6; }
+if test "${ol_cv_db_db_5+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+       ol_DB_LIB=-ldb-5
+       ol_LIBS=$LIBS
+       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef HAVE_DB_185_H
+# include <db_185.h>
+#else
+# include <db.h>
+#endif
+
+#ifndef DB_VERSION_MAJOR
+# define DB_VERSION_MAJOR 1
+#endif
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+int
+main ()
+{
+
+#if DB_VERSION_MAJOR > 2
+       db_env_create( NULL, 0 );
+#elif DB_VERSION_MAJOR > 1
+       db_appexit( NULL );
+#else
+       (void) dbopen( NULL, 0, 0, 0, NULL);
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ol_cv_db_db_5=yes
+else
+  ol_cv_db_db_5=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+       LIBS="$ol_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ol_cv_db_db_5" >&5
+$as_echo "$ol_cv_db_db_5" >&6; }
+
+       if test $ol_cv_db_db_5 = yes ; then
+               ol_cv_lib_db=-ldb-5
+       fi
+fi
+
+       if test $ol_cv_lib_db = no ; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Berkeley DB link (-ldb5)" >&5
+$as_echo_n "checking for Berkeley DB link (-ldb5)... " >&6; }
+if test "${ol_cv_db_db5+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+       ol_DB_LIB=-ldb5
+       ol_LIBS=$LIBS
+       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef HAVE_DB_185_H
+# include <db_185.h>
+#else
+# include <db.h>
+#endif
+
+#ifndef DB_VERSION_MAJOR
+# define DB_VERSION_MAJOR 1
+#endif
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+int
+main ()
+{
+
+#if DB_VERSION_MAJOR > 2
+       db_env_create( NULL, 0 );
+#elif DB_VERSION_MAJOR > 1
+       db_appexit( NULL );
+#else
+       (void) dbopen( NULL, 0, 0, 0, NULL);
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ol_cv_db_db5=yes
+else
+  ol_cv_db_db5=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+       LIBS="$ol_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ol_cv_db_db5" >&5
+$as_echo "$ol_cv_db_db5" >&6; }
+
+       if test $ol_cv_db_db5 = yes ; then
+               ol_cv_lib_db=-ldb5
+       fi
+fi
+
+elif test $ol_cv_bdb_major = 4 ; then
        if test $ol_cv_lib_db = no ; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Berkeley DB link (-ldb-4.$ol_cv_bdb_minor)" >&5
 $as_echo_n "checking for Berkeley DB link (-ldb-4.$ol_cv_bdb_minor)... " >&6; }
@@ -20660,7 +21039,8 @@ $as_echo "$ol_cv_db_db4" >&6; }
        fi
 fi
 
-       if test $ol_cv_lib_db = no ; then
+fi
+if test $ol_cv_lib_db = no ; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Berkeley DB link (-ldb)" >&5
 $as_echo_n "checking for Berkeley DB link (-ldb)... " >&6; }
 if test "${ol_cv_db_db+set}" = set; then :
@@ -20723,7 +21103,6 @@ $as_echo "$ol_cv_db_db" >&6; }
        fi
 fi
 
-fi
 if test $ol_cv_lib_db = no ; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Berkeley DB link (default)" >&5
 $as_echo_n "checking for Berkeley DB link (default)... " >&6; }