[SCM] Samba Shared Repository - branch v4-0-test updated -
release-4-0-0alpha2-478-ge773757
Andrew Bartlett
abartlet at samba.org
Thu Jan 17 01:01:12 GMT 2008
The branch, v4-0-test has been updated
via e77375758d66e94e5e0b6e61a97c9281c3d9c71f (commit)
from 4c869c54c2b8125fc88e58bbfddf1975476978a5 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test
- Log -----------------------------------------------------------------
commit e77375758d66e94e5e0b6e61a97c9281c3d9c71f
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Jan 17 12:00:27 2008 +1100
provision: simplfy by removing old code to manually create baseDNs.
Previously, we would create the first record in the DB as an LDIF
file, with the expectation that the administrator would use slapadd to
create the database.
We now do everything over LDAP, which is far simpler, and allows the
LDB module chain to do its work, without special cases.
Also fix naming of the output schema when suggesting the comamnd line
to run ad2oLschema in provision-backend.
Andrew Bartlett
-----------------------------------------------------------------------
Summary of changes:
source/scripting/libjs/provision.js | 38 +++------------------
source/setup/provision | 6 +---
source/setup/provision-backend | 5 +--
source/setup/provision_basedn.ldif | 1 -
source/setup/provision_configuration_basedn.ldif | 1 -
source/setup/provision_schema_basedn.ldif | 1 -
6 files changed, 9 insertions(+), 43 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/scripting/libjs/provision.js b/source/scripting/libjs/provision.js
index 266bac1..3812884 100644
--- a/source/scripting/libjs/provision.js
+++ b/source/scripting/libjs/provision.js
@@ -398,9 +398,6 @@ function provision_default_paths(subobj)
paths.named_conf = lp.get("private dir") + "/named.conf";
paths.winsdb = "wins.ldb";
paths.ldapdir = lp.get("private dir") + "/ldap";
- paths.ldap_basedn_ldif = paths.ldapdir + "/" + dnsdomain + ".ldif";
- paths.ldap_config_basedn_ldif = paths.ldapdir + "/" + dnsdomain + "-config.ldif";
- paths.ldap_schema_basedn_ldif = paths.ldapdir + "/" + dnsdomain + "-schema.ldif";
paths.s4_ldapi_socket = lp.get("private dir") + "/ldapi";
paths.phpldapadminconfig = lp.get("private dir") + "/phpldapadmin-config.php";
@@ -866,6 +863,12 @@ function provision_schema(subobj, message, tmp_schema_path, paths)
/* This will erase anything in the tmp db */
var samdb = open_ldb(info, tmp_schema_path, true);
+ message("Setting up sam.ldb attributes\n");
+ setup_add_ldif("provision_init.ldif", info, samdb, false);
+
+ message("Setting up sam.ldb rootDSE\n");
+ setup_add_ldif("provision_rootdse_add.ldif", info, samdb, false);
+
message("Adding schema container (permitted to fail)\n");
var add_ok = setup_add_ldif("provision_schema_basedn.ldif", info, samdb, true);
message("Modifying schema container\n");
@@ -934,34 +937,6 @@ function provision_dns(subobj, message, paths, session_info, credentials)
message("Please install the zone located in " + paths.dns + " into your DNS server. A sample BIND configuration snippit is at " + paths.named_conf + "\n");
}
-/* Write out a DNS zone file, from the info in the current database */
-function provision_ldapbase(subobj, message, paths)
-{
- var ok = provision_fix_subobj(subobj, paths);
- assert(ok);
-
- message("Setting up LDAP base entry: " + subobj.DOMAINDN + " \n");
- var rdns = split(",", subobj.DOMAINDN);
- subobj.EXTENSIBLEOBJECT = "objectClass: extensibleObject";
-
- subobj.RDN_DC = substr(rdns[0], strlen("DC="));
-
- sys.mkdir(paths.ldapdir, 0700);
-
- setup_file("provision_basedn.ldif",
- message, paths.ldap_basedn_ldif,
- subobj);
-
- setup_file("provision_configuration_basedn.ldif",
- message, paths.ldap_config_basedn_ldif,
- subobj);
-
- setup_file("provision_schema_basedn.ldif",
- message, paths.ldap_schema_basedn_ldif,
- subobj);
-
-}
-
/*
guess reasonably default options for provisioning
@@ -1045,7 +1020,6 @@ function provision_guess()
subobj.CONFIGDN_MOD2 = ",objectguid";
subobj.SCHEMADN_MOD2 = ",objectguid";
- subobj.EXTENSIBLEOBJECT = "# no objectClass: extensibleObject for local ldb";
subobj.ACI = "# no aci for local ldb";
return subobj;
diff --git a/source/setup/provision b/source/setup/provision
index ce1e8a6..8b24c51 100755
--- a/source/setup/provision
+++ b/source/setup/provision
@@ -123,7 +123,6 @@ for (r in options) {
}
var blank = (options["blank"] != undefined);
-var ldapbase = (options["ldap-base"] != undefined);
var ldapbackend = (options["ldap-backend"] != undefined);
var ldapmodule = (options["ldap-module"] != undefined);
var partitions_only = (options["partitions-only"] != undefined);
@@ -161,10 +160,7 @@ var system_session = system_session();
var creds = options.get_credentials();
message("Provisioning for %s in realm %s\n", subobj.DOMAIN, subobj.REALM);
message("Using administrator password: %s\n", subobj.ADMINPASS);
-if (ldapbase) {
- provision_ldapbase(subobj, message, paths);
- message("Please install the LDIF located in " + paths.ldap_basedn_ldif + ", " + paths.ldap_config_basedn_ldif + " and " + paths.ldap_schema_basedn_ldif + " into your LDAP server, and re-run with --ldap-backend=ldap://my.ldap.server\n");
-} else if (partitions_only) {
+if (partitions_only) {
provision_become_dc(subobj, message, false, paths, system_session);
} else {
provision(subobj, message, blank, paths, system_session, creds, ldapbackend);
diff --git a/source/setup/provision-backend b/source/setup/provision-backend
index 6582587..abd1b9a 100755
--- a/source/setup/provision-backend
+++ b/source/setup/provision-backend
@@ -101,7 +101,7 @@ var backend_schema;
var slapd_command;
if (options["ldap-backend-type"] == "fedora-ds") {
mapping = "schema-map-fedora-ds-1.0";
- backend_schema = "backend-schema.ldif";
+ backend_schema = "99_ad.ldif";
if (options["ldap-backend-port"] != undefined) {
message("Will listen on TCP port " + options["ldap-backend-port"] + "\n");
subobj.SERVERPORT="ServerPort = " + options["ldap-backend-port"];
@@ -114,9 +114,8 @@ if (options["ldap-backend-type"] == "fedora-ds") {
slapd_command = "(see documentation)";
} else if (options["ldap-backend-type"] == "openldap") {
- provision_ldapbase(subobj, message, paths);
mapping = "schema-map-openldap-2.3";
- backend_schema = "99_ad.ldif";
+ backend_schema = "backend-schema.schema";
setup_file("slapd.conf", message, subobj.LDAPDIR + "/slapd.conf", subobj);
setup_file("modules.conf", message, subobj.LDAPDIR + "/modules.conf", subobj);
sys.mkdir(subobj.LDAPDIR + "/db", 0700);
diff --git a/source/setup/provision_basedn.ldif b/source/setup/provision_basedn.ldif
index 234c1f9..3c7537f 100644
--- a/source/setup/provision_basedn.ldif
+++ b/source/setup/provision_basedn.ldif
@@ -5,7 +5,6 @@ dn: ${DOMAINDN}
objectClass: top
objectClass: domain
objectClass: domainDNS
-${EXTENSIBLEOBJECT}
${ACI}
dc: ${RDN_DC}
diff --git a/source/setup/provision_configuration_basedn.ldif b/source/setup/provision_configuration_basedn.ldif
index df1e1b1..575f8fa 100644
--- a/source/setup/provision_configuration_basedn.ldif
+++ b/source/setup/provision_configuration_basedn.ldif
@@ -4,6 +4,5 @@
dn: ${CONFIGDN}
objectClass: top
objectClass: configuration
-${EXTENSIBLEOBJECT}
${ACI}
cn: Configuration
diff --git a/source/setup/provision_schema_basedn.ldif b/source/setup/provision_schema_basedn.ldif
index 7b4f599..fbfd4c0 100644
--- a/source/setup/provision_schema_basedn.ldif
+++ b/source/setup/provision_schema_basedn.ldif
@@ -4,6 +4,5 @@
dn: ${SCHEMADN}
objectClass: top
objectClass: dMD
-${EXTENSIBLEOBJECT}
${ACI}
cn: Schema
--
Samba Shared Repository
More information about the samba-cvs
mailing list