]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/init.c
Revert most of last change
[openldap] / servers / slapd / back-bdb / init.c
index 911f23da16f54930c8f4aa68853611b174958582..e81e38ab657f5696dc1ecf6ad264bb14e5a0effb 100644 (file)
@@ -12,6 +12,8 @@
 #include <ac/unistd.h>
 #include <ac/stdlib.h>
 
+#include <lutil.h>
+
 #include "back-bdb.h"
 #include "external.h"
 
@@ -30,47 +32,11 @@ static struct bdbi_database {
        { NULL, NULL, 0, 0 }
 };
 
+struct berval bdb_uuid = { 0, NULL };
+
 static int
 bdb_open( BackendInfo *bi )
 {
-       static char *controls[] = {
-               LDAP_CONTROL_MANAGEDSAIT,
-               LDAP_CONTROL_SUBENTRIES,
-               LDAP_CONTROL_NOOP,
-               NULL
-       };
-
-       /* initialize the underlying database system */
-       Debug( LDAP_DEBUG_TRACE, "bdb_open: initialize BDB backend\n",
-               0, 0, 0 );
-
-       {       /* version check */
-               int major, minor, patch;
-               char *version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor != DB_VERSION_MINOR ||
-                       patch < DB_VERSION_PATCH )
-               {
-                       Debug( LDAP_DEBUG_ANY,
-                               "bdb_open: version mismatch\n"
-                               "\texpected: " DB_VERSION_STRING "\n"
-                               "\tgot: %s \n", version, 0, 0 );
-               }
-
-               Debug( LDAP_DEBUG_ANY, "bdb_open: %s\n",
-                       version, 0, 0 );
-       }
-
-#if 0
-       db_env_set_func_malloc( ch_malloc );
-       db_env_set_func_realloc( ch_realloc );
-       db_env_set_func_free( ch_free );
-#endif
-
-       db_env_set_func_yield( ldap_pvt_thread_yield );
-
-       bi->bi_controls = controls;
        return 0;
 }
 
@@ -437,7 +403,53 @@ bdb_initialize(
        BackendInfo     *bi
 )
 {
-       bi->bi_open = bdb_open;
+       static char *controls[] = {
+               LDAP_CONTROL_MANAGEDSAIT,
+               LDAP_CONTROL_SUBENTRIES,
+               LDAP_CONTROL_NOOP,
+               NULL
+       };
+
+       bi->bi_controls = controls;
+
+       /* initialize the underlying database system */
+       Debug( LDAP_DEBUG_TRACE, "bdb_open: initialize BDB backend\n",
+               0, 0, 0 );
+
+       {       /* version check */
+               int major, minor, patch;
+               char *version = db_version( &major, &minor, &patch );
+
+               if( major != DB_VERSION_MAJOR ||
+                       minor != DB_VERSION_MINOR ||
+                       patch < DB_VERSION_PATCH )
+               {
+                       Debug( LDAP_DEBUG_ANY,
+                               "bdb_open: version mismatch\n"
+                               "\texpected: " DB_VERSION_STRING "\n"
+                               "\tgot: %s \n", version, 0, 0 );
+               }
+
+               Debug( LDAP_DEBUG_ANY, "bdb_open: %s\n",
+                       version, 0, 0 );
+       }
+
+#if 0
+       db_env_set_func_malloc( ch_malloc );
+       db_env_set_func_realloc( ch_realloc );
+       db_env_set_func_free( ch_free );
+#endif
+
+       db_env_set_func_yield( ldap_pvt_thread_yield );
+
+       {
+               static char uuidbuf[40];
+
+               bdb_uuid.bv_len = lutil_uuidstr( uuidbuf, sizeof( uuidbuf ));
+               bdb_uuid.bv_val = uuidbuf;
+       }
+
+       bi->bi_open = 0;
        bi->bi_close = 0;
        bi->bi_config = 0;
        bi->bi_destroy = 0;