summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2006-07-31 01:00:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:15:15 -0500
commit7b99b2048ef1cd5603d93ac94543838a049d0adc (patch)
tree64779f0bfbb96fbf9d4ca7cda7a436d2959737a8
parent331ad9e7b8857ad5ed8b9383765a2fc06938c906 (diff)
downloadsamba-7b99b2048ef1cd5603d93ac94543838a049d0adc.tar.gz
samba-7b99b2048ef1cd5603d93ac94543838a049d0adc.tar.bz2
samba-7b99b2048ef1cd5603d93ac94543838a049d0adc.zip
r17330: Enable the partitions module.
This module redirects various samdb requests into different modules, depending on the prefix. It also makes moving to an LDAP backend easier, as it is just a different partition backend. This adds yet another stage to the provision process, as we must setup the partitions before we setup the magic attributes. Andrew Bartlett (This used to be commit 31225b9cb6ef6fcb7bd831043999b1b44ef1b128)
-rw-r--r--source4/scripting/libjs/provision.js5
-rw-r--r--source4/setup/provision_init.ldif14
-rw-r--r--source4/setup/provision_partitions.ldif19
3 files changed, 23 insertions, 15 deletions
diff --git a/source4/scripting/libjs/provision.js b/source4/scripting/libjs/provision.js
index c4ffab6a30..232d15d66f 100644
--- a/source4/scripting/libjs/provision.js
+++ b/source4/scripting/libjs/provision.js
@@ -479,8 +479,11 @@ function provision(subobj, message, blank, paths, session_info, credentials)
message("Setting up hklm.ldb\n");
setup_ldb("hklm.ldif", info, paths.hklm);
+ message("Setting up sam.ldb partitions\n");
+ setup_ldb("provision_partitions.ldif", info, paths.samdb);
+
message("Setting up sam.ldb attributes\n");
- setup_ldb("provision_init.ldif", info, paths.samdb);
+ setup_ldb("provision_init.ldif", info, paths.samdb, NULL, false);
message("Erasing data from partitions\n");
ldb_erase_partitions(info, paths.samdb);
diff --git a/source4/setup/provision_init.ldif b/source4/setup/provision_init.ldif
index a46c86aadc..91405b2d4c 100644
--- a/source4/setup/provision_init.ldif
+++ b/source4/setup/provision_init.ldif
@@ -55,14 +55,10 @@ passwordAttribute: lmPwdHash
passwordAttribute: sambaLMPwdHistory
passwordAttribute: krb5key
-
# the rootDSE module looks in this record for its base data
dn: cn=ROOTDSE
subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,${BASEDN}
dsServiceName: CN=NTDS Settings,CN=${NETBIOSNAME},CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,${BASEDN}
-namingContexts: ${BASEDN}
-namingContexts: CN=Configuration,${BASEDN}
-namingContexts: CN=Schema,CN=Configuration,${BASEDN}
defaultNamingContext: ${BASEDN}
rootDomainNamingContext: ${BASEDN}
configurationNamingContext: CN=Configuration,${BASEDN}
@@ -78,13 +74,3 @@ isSynchronized: TRUE
vendorName: Samba Team (http://samba.org)
vendorVersion: ${VERSION}
-#Add modules to the list to activate them by default
-#beware often order is important
-#
-# Some Known ordering constraints:
-# - rootdse must be first, as it makes redirects from "" -> cn=rootdse
-# - samldb must be before password_hash, because password_hash checks that the objectclass is of type person (filled in by samldb)
-
-dn: @MODULES
-@LIST: rootdse,kludge_acl,paged_results,server_sort,extended_dn,asq,samldb,objectclass,password_hash,operational,objectguid,rdn_name
-
diff --git a/source4/setup/provision_partitions.ldif b/source4/setup/provision_partitions.ldif
new file mode 100644
index 0000000000..58fea65bae
--- /dev/null
+++ b/source4/setup/provision_partitions.ldif
@@ -0,0 +1,19 @@
+dn: @PARTITION
+partition: CN=Schema,CN=Configuration,${BASEDN}:schema.ldb
+partition: CN=Configuration,${BASEDN}:configuration.ldb
+partition: CN=Templates,${BASEDN}:templates.ldb
+partition: ${BASEDN}:${LDAPBACKEND}
+replicateEntries: @SUBCLASSES
+replicateEntries: @ATTRIBUTES
+replicateEntries: @INDEXLIST
+
+#Add modules to the list to activate them by default
+#beware often order is important
+#
+# Some Known ordering constraints:
+# - rootdse must be first, as it makes redirects from "" -> cn=rootdse
+# - samldb must be before password_hash, because password_hash checks that the objectclass is of type person (filled in by samldb)
+# - partition must be last
+
+dn: @MODULES
+@LIST: rootdse,kludge_acl,paged_results,server_sort,extended_dn,asq,samldb,objectguid,password_hash,operational,objectclass,rdn_name,partition