summaryrefslogtreecommitdiffstats
path: root/source/scripting/libjs
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-08-30 12:27:53 +0000
committerJelmer Vernooij <jelmer@samba.org>2005-08-30 12:27:53 +0000
commit7fd22de2ebe008085fcfcaa30efb9cc8a27c4dfa (patch)
treee806db9167412ce5eb33a9b99c8024de518b4c43 /source/scripting/libjs
parentbb3191b89d4a49960f730805e4cf99c4d43800c9 (diff)
downloadsamba-7fd22de2ebe008085fcfcaa30efb9cc8a27c4dfa.tar.gz
samba-7fd22de2ebe008085fcfcaa30efb9cc8a27c4dfa.tar.xz
samba-7fd22de2ebe008085fcfcaa30efb9cc8a27c4dfa.zip
r9793: Be more verbose, check for errors in upgrade script.
Diffstat (limited to 'source/scripting/libjs')
-rw-r--r--source/scripting/libjs/upgrade.js32
1 files changed, 23 insertions, 9 deletions
diff --git a/source/scripting/libjs/upgrade.js b/source/scripting/libjs/upgrade.js
index c78afd6a913..c6a65e01c00 100644
--- a/source/scripting/libjs/upgrade.js
+++ b/source/scripting/libjs/upgrade.js
@@ -34,8 +34,7 @@ function upgrade_registry(regdb,prefix)
{
assert(regdb != undefined);
var prefix_up = strupper(prefix);
-
- var ldif = "";
+ var ldif = new Array();
for (var i in regdb.keys) {
var rk = regdb.keys[i];
@@ -51,7 +50,7 @@ function upgrade_registry(regdb,prefix)
var pts = split("/", rk.name);
/* Convert key name to dn */
- ldif = ldif + sprintf("
+ ldif[rk.name] = sprintf("
dn: %s
name: %s
@@ -60,7 +59,7 @@ name: %s
for (var j in rk.values) {
var rv = rk.values[j];
- ldif = ldif + sprintf("
+ ldif[rk.name + " (" + rv.name + ")"] = sprintf("
dn: %s,value=%s
value: %s
type: %d
@@ -396,6 +395,7 @@ function save_smbconf(path,smbconf)
function upgrade(subobj, samba3, message)
{
+ var ret = 0;
var samdb = ldb_init();
var ok = samdb.connect("sam.ldb");
assert(ok);
@@ -425,7 +425,10 @@ dn: @MAP=samba3sam
message("... " + samba3.samaccounts[i].username);
var ldif = upgrade_sam_account(samba3.samaccounts[i],subobj.BASEDN);
ok = samdb.add(ldif);
- if (!ok) { message("... error!"); }
+ if (!ok) {
+ message("... error: " + samdb.errstring());
+ ret = ret + 1;
+ }
message("\n");
}
@@ -434,7 +437,10 @@ dn: @MAP=samba3sam
message("... " + samba3.groupmappings[i].nt_name);
var ldif = upgrade_sam_group(samba3.groupmappings[i],subobj.BASEDN);
ok = samdb.add(ldif);
- if (!ok) { message("... error!"); }
+ if (!ok) {
+ message("... error: " + samdb.errstring());
+ ret = ret + 1;
+ }
message("\n");
}
@@ -446,18 +452,26 @@ dn: @MAP=samba3sam
ok = regdb.connect(hives[i] + ".ldb");
assert(ok);
var ldif = upgrade_registry(samba3.registry, hives[i]);
- ok = regdb.add(ldif);
- assert(ok);
+ for (var j in ldif) {
+ message("... ... " + j);
+ ok = regdb.add(ldif[j]);
+ if (!ok) {
+ message("... error: " + regdb.errstring());
+ ret = ret + 1;
+ }
+ message("\n");
+ }
}
message("Importing WINS data\n");
var winsdb = ldb_init();
ok = winsdb.connect("wins.ldb");
assert(ok);
+ ldb_erase(winsdb);
var ldif = upgrade_wins(samba3);
ok = winsdb.add(ldif);
assert(ok);
- return ok;
+ return ret;
}