s4-param Remove 'sid generator'
authorAndrew Bartlett <abartlet@samba.org>
Thu, 2 Jun 2011 08:56:10 +0000 (18:56 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 6 Jun 2011 07:37:50 +0000 (17:37 +1000)
This was only used by the Fedora DS backend for Samba4.  We agreed to
no longer support external LDAP backends.

Andrew Bartlett

source4/dsdb/samdb/ldb_modules/samldb.c
source4/param/loadparm.c
source4/param/param.h
source4/scripting/python/samba/provision/__init__.py
source4/scripting/python/samba/tests/samba3sam.py
source4/setup/provision.smb.conf.dc
source4/setup/provision.smb.conf.member
source4/setup/provision.smb.conf.standalone

index 07c9cdd3124e42595ca83c43f4749631acf58413..6533d1006ba5f5d6c795b8c81ac57680926faa26 100644 (file)
@@ -803,10 +803,9 @@ static int samldb_prim_group_tester(struct samldb_ctx *ac, uint32_t rid);
 static int samldb_objectclass_trigger(struct samldb_ctx *ac)
 {
        struct ldb_context *ldb = ldb_module_get_ctx(ac->module);
-       struct loadparm_context *lp_ctx = talloc_get_type(ldb_get_opaque(ldb,
-                                        "loadparm"), struct loadparm_context);
+       void *skip_allocate_sids = ldb_get_opaque(ldb,
+                                                 "skip_allocate_sids");
        struct ldb_message_element *el, *el2;
-       enum sid_generator sid_generator;
        struct dom_sid *sid;
        int ret;
 
@@ -832,12 +831,9 @@ static int samldb_objectclass_trigger(struct samldb_ctx *ac)
        }
 
        /* but generate a new SID when we do have an add operations */
-       if ((sid == NULL) && (ac->req->operation == LDB_ADD)) {
-               sid_generator = lpcfg_sid_generator(lp_ctx);
-               if (sid_generator == SID_GENERATOR_INTERNAL) {
-                       ret = samldb_add_step(ac, samldb_allocate_sid);
-                       if (ret != LDB_SUCCESS) return ret;
-               }
+       if ((sid == NULL) && (ac->req->operation == LDB_ADD) && !skip_allocate_sids) {
+               ret = samldb_add_step(ac, samldb_allocate_sid);
+               if (ret != LDB_SUCCESS) return ret;
        }
 
        if (strcmp(ac->type, "user") == 0) {
index 69a5ad590ec4abee462eeefc3156e99de500cea2..d5c82354afb2045de93e81b0d2810754b809e3b2 100644 (file)
@@ -80,7 +80,6 @@ static bool defaults_saved = false;
 struct loadparm_global
 {
        enum server_role server_role;
-       enum sid_generator sid_generator;
 
        const char **smb_ports;
        char *ncalrpc_dir;
@@ -331,19 +330,11 @@ static const struct enum_list enum_server_role[] = {
        {-1, NULL}
 };
 
-static const struct enum_list enum_sid_generator[] = {
-       {SID_GENERATOR_INTERNAL, "internal"},
-       {SID_GENERATOR_BACKEND, "backend"},
-       {-1, NULL}
-};
-
 #define GLOBAL_VAR(name) offsetof(struct loadparm_global, name)
 #define LOCAL_VAR(name) offsetof(struct loadparm_service, name)
 
 static struct parm_struct parm_table[] = {
        {"server role", P_ENUM, P_GLOBAL, GLOBAL_VAR(server_role), NULL, enum_server_role},
-       {"sid generator", P_ENUM, P_GLOBAL, GLOBAL_VAR(sid_generator), NULL, enum_sid_generator},
-
        {"dos charset", P_STRING, P_GLOBAL, GLOBAL_VAR(dos_charset), NULL, NULL},
        {"unix charset", P_STRING, P_GLOBAL, GLOBAL_VAR(unix_charset), NULL, NULL},
        {"ncalrpc dir", P_STRING, P_GLOBAL, GLOBAL_VAR(ncalrpc_dir), NULL, NULL},
@@ -638,7 +629,6 @@ static struct loadparm_context *global_loadparm_context;
  _PUBLIC_ int lpcfg_ ## fn_name(struct loadparm_service *service, struct loadparm_service *sDefault) {return((service != NULL)? service->val : sDefault->val);}
 
 FN_GLOBAL_INTEGER(server_role, server_role)
-FN_GLOBAL_INTEGER(sid_generator, sid_generator)
 FN_GLOBAL_LIST(smb_ports, smb_ports)
 FN_GLOBAL_INTEGER(nbt_port, nbt_port)
 FN_GLOBAL_INTEGER(dgram_port, dgram_port)
index 622250b8b7afc6e2e288c6621bc57a76af6bc652..79a1bff2c73365aa56cffe5a0f4fda0e6fcb52f1 100644 (file)
@@ -47,11 +47,6 @@ typedef NTSTATUS (*init_module_fn) (void);
 
 #include "libds/common/roles.h"
 
-enum sid_generator {
-       SID_GENERATOR_INTERNAL=0,
-       SID_GENERATOR_BACKEND=1,
-};
-
 enum announce_as {/* Types of machine we can announce as. */
        ANNOUNCE_AS_NT_SERVER=1,
        ANNOUNCE_AS_WIN95=2,
index bd3ab8a4f441ca2cbe0dcf86f42525215e6dacd2..eb6e01f389231f7d69aed96239cf56d4efe8775c 100644 (file)
@@ -709,11 +709,6 @@ def make_smbconf(smbconf, hostname, domain, realm, serverrole,
         privatedir_line = ""
         lockdir_line = ""
 
-    if sid_generator == "internal":
-        sid_generator_line = ""
-    else:
-        sid_generator_line = "sid generator = " + sid_generator
-
     sysvol = os.path.join(lp.get("lock dir"), "sysvol")
     netlogon = os.path.join(sysvol, realm.lower(), "scripts")
 
@@ -725,7 +720,6 @@ def make_smbconf(smbconf, hostname, domain, realm, serverrole,
             "SERVERROLE": serverrole,
             "NETLOGONPATH": netlogon,
             "SYSVOLPATH": sysvol,
-            "SIDGENERATOR_LINE": sid_generator_line,
             "PRIVATEDIR_LINE": privatedir_line,
             "LOCKDIR_LINE": lockdir_line
             })
index 99b9c0655e1d996dc99b11dd7c9734d9a8f44fc3..7353391519f9c615e69c163c818eb043a34a458e 100644 (file)
@@ -65,7 +65,6 @@ class MapBaseTestCase(TestCaseInTempDir):
 
     def setUp(self):
         self.lp = env_loadparm()
-        self.lp.set("sid generator", "backend")
         self.lp.set("workgroup", "TESTS")
         self.lp.set("netbios name", "TESTS")
         super(MapBaseTestCase, self).setUp()
@@ -87,6 +86,7 @@ class MapBaseTestCase(TestCaseInTempDir):
 
             def __init__(self, basedn, dn, lp):
                 self.db = Ldb(lp=lp, session_info=system_session())
+                self.db.set_opaque("skip_allocate_sids", "true");
                 self.basedn = basedn
                 self.basedn_casefold = ldb.Dn(self.db, basedn).get_casefold()
                 self.substvars = {"BASEDN": self.basedn}
@@ -136,12 +136,14 @@ class Samba3SamTestCase(MapBaseTestCase):
     def setUp(self):
         super(Samba3SamTestCase, self).setUp()
         ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
+        ldb.set_opaque("skip_allocate_sids", "true");
         self.samba3.setup_data("samba3.ldif")
         ldif = read_datafile("provision_samba3sam.ldif")
         ldb.add_ldif(self.samba4.subst(ldif))
         self.setup_modules(ldb, self.samba3, self.samba4)
         del ldb
         self.ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
+        self.ldb.set_opaque("skip_allocate_sids", "true");
 
     def test_search_non_mapped(self):
         """Looking up by non-mapped attribute"""
@@ -303,11 +305,13 @@ class MapTestCase(MapBaseTestCase):
     def setUp(self):
         super(MapTestCase, self).setUp()
         ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
+        ldb.set_opaque("skip_allocate_sids", "true");
         ldif = read_datafile("provision_samba3sam.ldif")
         ldb.add_ldif(self.samba4.subst(ldif))
         self.setup_modules(ldb, self.samba3, self.samba4)
         del ldb
         self.ldb = Ldb(self.ldburl, lp=self.lp, session_info=system_session())
+        self.ldb.set_opaque("skip_allocate_sids", "true");
 
     def test_map_search(self):
         """Running search tests on mapped data."""
index a8e98ba4bc9bce9285863f44d0e722de54942f2c..f489f59ff9dd4540927e105f8b5c83776c38cd6b 100644 (file)
@@ -3,7 +3,6 @@
        workgroup       = ${DOMAIN}
        realm           = ${REALM}
        server role     = ${SERVERROLE}
-       ${SIDGENERATOR_LINE}
        ${PRIVATEDIR_LINE}
        ${LOCKDIR_LINE}
 
index 8241fc28f1cf92df9ead85a4f5ae8ce20e989512..96e5d0c2e5a41183437facd9c8f1ff4cfc3eeb0b 100644 (file)
@@ -3,6 +3,5 @@
        workgroup       = ${DOMAIN}
        realm           = ${REALM}
        server role     = ${SERVERROLE}
-       ${SIDGENERATOR_LINE}
        ${PRIVATEDIR_LINE}
        ${LOCKDIR_LINE}
index 8241fc28f1cf92df9ead85a4f5ae8ce20e989512..96e5d0c2e5a41183437facd9c8f1ff4cfc3eeb0b 100644 (file)
@@ -3,6 +3,5 @@
        workgroup       = ${DOMAIN}
        realm           = ${REALM}
        server role     = ${SERVERROLE}
-       ${SIDGENERATOR_LINE}
        ${PRIVATEDIR_LINE}
        ${LOCKDIR_LINE}