summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-03-28 08:24:28 +0100
committerKarolin Seeger <kseeger@samba.org>2008-04-13 13:29:51 +0200
commit1f7725e879f15faf30bca111dbb708f702610e1f (patch)
treec10fea9820366ace773ebf4a12955f4470b07fdf
parent3cfb1d4eefb4391b42f001f3d1580533edcf2e6c (diff)
downloadsamba-1f7725e879f15faf30bca111dbb708f702610e1f.tar.gz
samba-1f7725e879f15faf30bca111dbb708f702610e1f.tar.xz
samba-1f7725e879f15faf30bca111dbb708f702610e1f.zip
groupdb: readd groupdb:backend parametric option
This reverts c5adb92c020e38644baf1afc8fc570a518cd6307. The reason is that ldb doesn't work for cluster setups yet. metze (cherry picked from commit 5f5d90ef76b969ecbe564399368a7450c4e3d155)
-rw-r--r--source/groupdb/mapping.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/source/groupdb/mapping.c b/source/groupdb/mapping.c
index 1ddda583df8..ce66bfa64fa 100644
--- a/source/groupdb/mapping.c
+++ b/source/groupdb/mapping.c
@@ -30,12 +30,30 @@ static const struct mapping_backend *backend;
*/
static bool init_group_mapping(void)
{
+ const char *backend_string;
+
if (backend != NULL) {
/* already initialised */
return True;
}
-
- backend = groupdb_ldb_init();
+
+ /*
+ * default to using the ldb backend. This parameter should
+ * disappear in future versions of Samba3.
+ *
+ * But it's needed for cluster setups, because it's
+ * not yet possible to distribute a ldb inside a cluster.
+ */
+ backend_string = lp_parm_const_string(-1, "groupdb", "backend", "ldb");
+
+ if (strcmp(backend_string, "ldb") == 0) {
+ backend = groupdb_ldb_init();
+ } else if (strcmp(backend_string, "tdb") == 0) {
+ backend = groupdb_tdb_init();
+ } else {
+ DEBUG(0,("Unknown groupdb backend '%s'\n", backend_string));
+ smb_panic("Unknown groupdb backend");
+ }
return backend != NULL;
}