r12945: Try to move closer to getting Samba3 import working again.
authorAndrew Bartlett <abartlet@samba.org>
Sun, 15 Jan 2006 09:03:28 +0000 (09:03 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:51:12 +0000 (13:51 -0500)
There still a few things to work out

Andrew Bartlett
(This used to be commit 701558b5fe917555416eb0d100ef756f8ef7cf65)

source4/scripting/libjs/upgrade.js
source4/setup/upgrade
swat/install/samba3.esp

index a8f717badcdf7e6f90892ab43321997d8e127a8e..161195a60d8c160995e28572690d5b468f463ab1 100644 (file)
@@ -513,13 +513,18 @@ function upgrade_smbconf(oldconf,mark)
        return newconf;
 }
 
-function upgrade(subobj, samba3, message, paths)
+function upgrade(subobj, samba3, message, paths, session_info, credentials)
 {
        var ret = 0;
        var lp = loadparm_init();
        var samdb = ldb_init();
+       samdb.session_info = session_info;
+       samdb.credentials = credentials;
        var ok = samdb.connect(paths.samdb);
-       assert(ok);
+       if (!ok) {
+               info.message("samdb connect failed: " + samdb.errstring() + "\n");
+               assert(ok);
+       }
 
        message("Writing configuration\n");
        var newconf = upgrade_smbconf(samba3.configuration,true);
@@ -528,11 +533,17 @@ function upgrade(subobj, samba3, message, paths)
        message("Importing account policies\n");
        var ldif = upgrade_sam_policy(samba3,subobj.BASEDN);
        ok = samdb.modify(ldif);
-       assert(ok);
-
+       if (!ok) {
+               message("samdb load failed: " + samdb.errstring() + "\n");
+               assert(ok);
+       }
        var regdb = ldb_init();
        ok = regdb.connect(paths.hklm);
-       assert(ok);
+       if (!ok) {
+               message("registry connect: " + regdb.errstring() + "\n");
+               assert(ok);
+       }
+
        ok = regdb.modify(sprintf("
 dn: value=RefusePasswordChange,key=Parameters,key=Netlogon,key=Services,key=CurrentControlSet,key=System,HIVE=NONE
 replace: type
@@ -540,7 +551,10 @@ type: 4
 replace: data
 data: %d
 ", samba3.policy.refuse_machine_password_change));
-       assert(ok);
+       if (!ok) {
+               message("registry load failed: " + regdb.errstring() + "\n");
+               assert(ok);
+       }
 
        message("Importing users\n");
        for (var i in samba3.samaccounts) {
index 4c1c011b29f5bab681410aae1e9a1fb592b58a45..bfeba716e4f5a1a527e414d0f5a9b3d5af4912a2 100755 (executable)
@@ -90,12 +90,13 @@ var creds = options.get_credentials();
 var system_session = system_session();
 var paths = provision_default_paths(subobj);
 provision(subobj, message, options.blank, paths, system_session, creds);
-provision_dns(subobj, message, paths, system_session, creds);
 
-var ret = upgrade(subobj,samba3,message,paths);
+var ret = upgrade(subobj,samba3,message,paths, system_session, creds);
 if (ret > 0) {
        message("Failed to import %d entries\n", ret);
 } else {
+       provision_dns(subobj, message, paths, system_session, creds);
+
        message("All OK\n");
 }
 
index 3c53bd621fd2983f3d8380765bf6e93228317142..31857c01e937af84797c7876afad2d5efed5bfd6 100644 (file)
@@ -69,13 +69,26 @@ if (form['submit'] == "Import") {
                confirm_form();
        } else {
                var paths = provision_default_paths(subobj);
-
-               provision(subobj, writefln, true, paths);
-               upgrade(subobj, samba3, writefln, paths);
-
-               writefln("Reloading smb.conf\n");
-               var lp = loadparm_init();
-               lp.reload();
+               if (!provision(subobj, writefln, true, paths, 
+                              session.authinfo.session_info, session.authinfo.credentials)) {
+                       writefln("Provision failed!");
+               } else { 
+                       var ret = upgrade(subobj,samba3,message,paths,
+                                         session.authinfo.session_info, session.authinfo.credentials);
+                       if (ret > 0) {
+                               writefln("Failed to import %d entries\n", ret);
+                       } else {
+                               if (!provision_dns(subobj, writefln, paths,
+                                                  session.authinfo.session_info, session.authinfo.credentials)) {
+                                       writefln("DNS Provision failed!");
+                               } else {
+                                       writefln("Reloading smb.conf\n");
+                                       var lp = loadparm_init();
+                                       lp.reload();
+                                       writefln("Upgrade Complete!");
+                               }
+                       }
+               }
        }
 } else {
        var f = FormObj("Import from Samba3", 0, 2);