|
Lines 89-95
Link Here
|
| 89 |
char *bdb_cache_dir = "/var/lib/univention-directory-listener"; |
89 |
char *bdb_cache_dir = "/var/lib/univention-directory-listener"; |
| 90 |
char *bdb_ldap_dir = "/var/lib/univention-ldap"; |
90 |
char *bdb_ldap_dir = "/var/lib/univention-ldap"; |
| 91 |
|
91 |
|
| 92 |
BdbCacheMasterEntry bdb_cache_master_entry; |
92 |
CacheMasterEntry cache_master_entry; |
| 93 |
|
93 |
|
| 94 |
DB *dbp; |
94 |
DB *dbp; |
| 95 |
#ifdef WITH_DB42 |
95 |
#ifdef WITH_DB42 |
|
Lines 278-284
Link Here
|
| 278 |
return fclose(fp) || (rv != 1); |
278 |
return fclose(fp) || (rv != 1); |
| 279 |
} |
279 |
} |
| 280 |
|
280 |
|
| 281 |
int bdb_cache_get_master_entry(BdbCacheMasterEntry *master_entry) { |
281 |
int bdb_cache_get_master_entry(CacheMasterEntry *master_entry) { |
| 282 |
DBT key, data; |
282 |
DBT key, data; |
| 283 |
int rv; |
283 |
int rv; |
| 284 |
|
284 |
|
|
Lines 297-314
Link Here
|
| 297 |
return rv; |
297 |
return rv; |
| 298 |
} |
298 |
} |
| 299 |
|
299 |
|
| 300 |
if (data.size != sizeof(BdbCacheMasterEntry)) { |
300 |
if (data.size != sizeof(CacheMasterEntry)) { |
| 301 |
univention_debug(UV_DEBUG_LISTENER, UV_DEBUG_ERROR, "master entry has unexpected length"); |
301 |
univention_debug(UV_DEBUG_LISTENER, UV_DEBUG_ERROR, "master entry has unexpected length"); |
| 302 |
return 1; |
302 |
return 1; |
| 303 |
} |
303 |
} |
| 304 |
|
304 |
|
| 305 |
memcpy(master_entry, data.data, sizeof(BdbCacheMasterEntry)); |
305 |
memcpy(master_entry, data.data, sizeof(CacheMasterEntry)); |
| 306 |
free(data.data); |
306 |
free(data.data); |
| 307 |
|
307 |
|
| 308 |
return 0; |
308 |
return 0; |
| 309 |
} |
309 |
} |
| 310 |
|
310 |
|
| 311 |
int bdb_cache_update_master_entry(BdbCacheMasterEntry *master_entry, DB_TXN *dbtxnp) { |
311 |
int bdb_cache_update_master_entry(CacheMasterEntry *master_entry, DB_TXN *dbtxnp) { |
| 312 |
DBT key, data; |
312 |
DBT key, data; |
| 313 |
int rv; |
313 |
int rv; |
| 314 |
int flags; |
314 |
int flags; |
|
Lines 320-326
Link Here
|
| 320 |
key.size = MASTER_KEY_SIZE; |
320 |
key.size = MASTER_KEY_SIZE; |
| 321 |
|
321 |
|
| 322 |
data.data = (void *)master_entry; |
322 |
data.data = (void *)master_entry; |
| 323 |
data.size = sizeof(BdbCacheMasterEntry); |
323 |
data.size = sizeof(CacheMasterEntry); |
| 324 |
|
324 |
|
| 325 |
#ifdef WITH_DB42 |
325 |
#ifdef WITH_DB42 |
| 326 |
if (dbtxnp == NULL) |
326 |
if (dbtxnp == NULL) |
|
Lines 343-349
Link Here
|
| 343 |
DB_TXN *bdb_cache_new_transaction(NotifierID id, char *dn) { |
343 |
DB_TXN *bdb_cache_new_transaction(NotifierID id, char *dn) { |
| 344 |
#ifdef WITH_DB42 |
344 |
#ifdef WITH_DB42 |
| 345 |
DB_TXN *dbtxnp; |
345 |
DB_TXN *dbtxnp; |
| 346 |
BdbCacheMasterEntry master_entry; |
346 |
CacheMasterEntry master_entry; |
| 347 |
NotifierID *old_id; |
347 |
NotifierID *old_id; |
| 348 |
|
348 |
|
| 349 |
dbenvp->txn_begin(dbenvp, NULL, &dbtxnp, 0); |
349 |
dbenvp->txn_begin(dbenvp, NULL, &dbtxnp, 0); |