diff options
Diffstat (limited to 'src/db/sysdb.c')
-rw-r--r-- | src/db/sysdb.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/db/sysdb.c b/src/db/sysdb.c index 9da655759..e52790b3c 100644 --- a/src/db/sysdb.c +++ b/src/db/sysdb.c @@ -35,6 +35,8 @@ errno_t sysdb_ldb_connect(TALLOC_CTX *mem_ctx, const char *filename, int ret; struct ldb_context *ldb; const char *mod_path; + const char *db; + const char *dbpath; if (_ldb == NULL) { return EINVAL; @@ -56,7 +58,12 @@ errno_t sysdb_ldb_connect(TALLOC_CTX *mem_ctx, const char *filename, ldb_set_modules_dir(ldb, mod_path); } - ret = ldb_connect(ldb, filename, 0, NULL); + db = getenv("LDB_BACKEND"); + if (db == NULL) db = "tdb"; + + dbpath = talloc_asprintf(ldb, "%s://%s", db, filename); + + ret = ldb_connect(ldb, dbpath, 0, NULL); if (ret != LDB_SUCCESS) { return EIO; } |