summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/scripting/libjs/provision.js6
-rw-r--r--swat/install/vampire.esp13
2 files changed, 14 insertions, 5 deletions
diff --git a/source4/scripting/libjs/provision.js b/source4/scripting/libjs/provision.js
index 2dc6bb522b..05e6726244 100644
--- a/source4/scripting/libjs/provision.js
+++ b/source4/scripting/libjs/provision.js
@@ -368,10 +368,12 @@ function provision_default_paths(subobj)
/*
setup reasonable name mappings for sam names to unix names
*/
-function setup_name_mappings(info, subobj, ldb)
+function setup_name_mappings(info, ldb)
{
var lp = loadparm_init();
var attrs = new Array("objectSid");
+ var subobj = info.subobj;
+
res = ldb.search("objectSid=*", subobj.BASEDN, ldb.SCOPE_BASE, attrs);
assert(res.length == 1 && res[0].objectSid != undefined);
var sid = res[0].objectSid;
@@ -525,7 +527,7 @@ function provision(subobj, message, blank, paths, session_info, credentials)
message("Setting up sam.ldb users and groups\n");
setup_add_ldif("provision_users.ldif", info, samdb, false);
- if (setup_name_mappings(info, subobj, samdb) == false) {
+ if (setup_name_mappings(info, samdb) == false) {
return false;
}
diff --git a/swat/install/vampire.esp b/swat/install/vampire.esp
index 437cbda32c..9ce874cd18 100644
--- a/swat/install/vampire.esp
+++ b/swat/install/vampire.esp
@@ -58,18 +58,22 @@ if (form['submit'] == "Migrate") {
writefln("You need to set 'server role' to 'member server' before starting the migration process");
} else {
var creds = credentials_init();
+ var samdb;
creds.set_username(form.ADMIN);
creds.set_password(form.ADMINPASS);
creds.set_domain(form.DOMAIN);
creds.set_realm(form.REALM);
var info = new Object();
- info.message = writefln;
-
var paths = provision_default_paths(subobj);
var session_info = session.authinfo.session_info;
var credentials = session.authinfo.credentials;
+ info.credentials = credentials;
+ info.session_info = session_info;
+ info.message = writefln;
+ info.subobj = subobj;
+
/* Setup a basic database structure, but don't setup any users */
if (!provision(subobj, writefln, true, paths,
session_info, credentials)) {
@@ -86,7 +90,10 @@ if (form['submit'] == "Migrate") {
} else if (!provision_dns(subobj, writefln, paths,
session.authinfo.session_info, session.authinfo.credentials)) {
writefln("DNS Provision failed!");
- } else if (!setup_name_mappings(info, subobj, session_info, credentials)) {
+ } else if (!(samdb = open_ldb(info, paths.samdb, false))) {
+ writefln("Opening " + paths.samdb + " failed!");
+ info.samdb = samdb;
+ } else if (!setup_name_mappings(info, samdb)) {
writefln("Setup of name mappings failed!");
} else {
var zonepath = paths.dns;