svn commit: samba r9793 - in branches/SAMBA_4_0/source: dsdb/samdb/ldb_modules scripting/libjs setup

jelmer at samba.org jelmer at samba.org
Tue Aug 30 12:27:54 GMT 2005


Author: jelmer
Date: 2005-08-30 12:27:53 +0000 (Tue, 30 Aug 2005)
New Revision: 9793

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9793

Log:
Be more verbose, check for errors in upgrade script.

Modified:
   branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/samba3sam.c
   branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/samldb.c
   branches/SAMBA_4_0/source/scripting/libjs/upgrade.js
   branches/SAMBA_4_0/source/setup/upgrade


Changeset:
Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/samba3sam.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/samba3sam.c	2005-08-30 11:55:05 UTC (rev 9792)
+++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/samba3sam.c	2005-08-30 12:27:53 UTC (rev 9793)
@@ -2,24 +2,6 @@
    ldb database library - Samba3 SAM compatibility backend
 
    Copyright (C) Jelmer Vernooij 2005
-
-     ** NOTE! The following LGPL license applies to the ldb
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
 #include "includes.h"
@@ -67,6 +49,8 @@
 {
 	printf("Converting SID TO RID *\n");
 
+	/* FIXME */
+
 	return ldb_val_dup(ctx, val);
 }
 
@@ -74,6 +58,8 @@
 {
 	printf("Converting RID TO SID *\n");
 
+	/* FIXME */
+
 	return ldb_val_dup(ctx, val);
 }
 
@@ -81,6 +67,8 @@
 {
 	printf("Converting UNIX ID to name\n");
 
+	/* FIXME */
+
 	return ldb_val_dup(ctx, val);
 }
 
@@ -88,6 +76,8 @@
 {
 	printf("Converting UNIX name to ID\n");
 
+	/* FIXME */
+
 	return ldb_val_dup(ctx, val);
 }
 
@@ -177,10 +167,8 @@
 	/* uid -> unixName */
 	{
 		.local_name = "unixName",
-		.type = MAP_CONVERT,
+		.type = MAP_RENAME,
 		.u.convert.remote_name = "uid",
-		.u.convert.convert_local = convert_unix_name2id,
-		.u.convert.convert_remote = convert_unix_id2name,
 	},
 
 	/* displayName -> name */

Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/samldb.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/samldb.c	2005-08-30 11:55:05 UTC (rev 9792)
+++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/samldb.c	2005-08-30 12:27:53 UTC (rev 9793)
@@ -541,7 +541,8 @@
 
 	ldb_debug(module->ldb, LDB_DEBUG_TRACE, "samldb_add_record\n");
 
-	if (strcmp(msg->dn->components[0].name, "@SPECIAL") == 0) { /* do not manipulate our control entries */
+	
+	if (ldb_dn_is_special(msg->dn)) { /* do not manipulate our control entries */
 		return ldb_next_add_record(module, msg);
 	}
 

Modified: branches/SAMBA_4_0/source/scripting/libjs/upgrade.js
===================================================================
--- branches/SAMBA_4_0/source/scripting/libjs/upgrade.js	2005-08-30 11:55:05 UTC (rev 9792)
+++ branches/SAMBA_4_0/source/scripting/libjs/upgrade.js	2005-08-30 12:27:53 UTC (rev 9793)
@@ -34,9 +34,8 @@
 {
 	assert(regdb != undefined);
 	var prefix_up = strupper(prefix);
+	var ldif = new Array();
 
-	var ldif = "";
-
 	for (var i in regdb.keys) {
 		var rk = regdb.keys[i];
 		var pts = split("/", rk.name);
@@ -51,7 +50,7 @@
 		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 @@
 		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 upgrade(subobj, samba3, message)
 {
+	var ret = 0;
 	var samdb = ldb_init();
 	var ok = samdb.connect("sam.ldb");
 	assert(ok);
@@ -425,7 +425,10 @@
 		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 @@
 		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 @@
 		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;
 }

Modified: branches/SAMBA_4_0/source/setup/upgrade
===================================================================
--- branches/SAMBA_4_0/source/setup/upgrade	2005-08-30 11:55:05 UTC (rev 9792)
+++ branches/SAMBA_4_0/source/setup/upgrade	2005-08-30 12:27:53 UTC (rev 9793)
@@ -81,8 +81,10 @@
 var subobj = upgrade_provision(samba3);
 provision(subobj, message, options.blank);
 
-ok = upgrade(subobj,samba3,message);
-assert(ok);
-
-message("All OK\n");
+var ret = upgrade(subobj,samba3,message);
+if (ret > 0) {
+	message("Failed to import %d entries\n", ret);
+} else {
+	message("All OK\n");
+}
 return 0;



More information about the samba-cvs mailing list