X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-bdb%2Finit.c;h=e81e38ab657f5696dc1ecf6ad264bb14e5a0effb;hb=0006ec0a46790567d3d49fcafce5ffaae08cdbf4;hp=911f23da16f54930c8f4aa68853611b174958582;hpb=45545571718b55a0f56cc414f977e7d1d0185db8;p=openldap diff --git a/servers/slapd/back-bdb/init.c b/servers/slapd/back-bdb/init.c index 911f23da16..e81e38ab65 100644 --- a/servers/slapd/back-bdb/init.c +++ b/servers/slapd/back-bdb/init.c @@ -12,6 +12,8 @@ #include #include +#include + #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;