svn commit: samba r19196 - in branches/SAMBA_4_0/source/lib/ldb: common include ldb_tdb

metze at samba.org metze at samba.org
Mon Oct 9 09:56:15 GMT 2006


Author: metze
Date: 2006-10-09 09:56:13 +0000 (Mon, 09 Oct 2006)
New Revision: 19196

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

Log:
merge from samba3:

pass always a mem_ctx to functions and a ldb_context where needed

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/common/attrib_handlers.c
   branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c
   branches/SAMBA_4_0/source/lib/ldb/common/ldb_match.c
   branches/SAMBA_4_0/source/lib/ldb/common/ldb_modules.c
   branches/SAMBA_4_0/source/lib/ldb/include/ldb.h
   branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_tdb.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/common/attrib_handlers.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/common/attrib_handlers.c	2006-10-09 09:12:57 UTC (rev 19195)
+++ branches/SAMBA_4_0/source/lib/ldb/common/attrib_handlers.c	2006-10-09 09:56:13 UTC (rev 19196)
@@ -230,7 +230,7 @@
 	out->length = 0;
 	out->data = NULL;
 
-	dn = ldb_dn_explode_casefold(ldb, (char *)in->data);
+	dn = ldb_dn_explode_casefold(ldb, mem_ctx, (char *)in->data);
 	if (dn == NULL) {
 		return -1;
 	}
@@ -258,10 +258,10 @@
 	struct ldb_dn *dn1 = NULL, *dn2 = NULL;
 	int ret;
 
-	dn1 = ldb_dn_explode_casefold(mem_ctx, (char *)v1->data);
+	dn1 = ldb_dn_explode_casefold(ldb, mem_ctx, (char *)v1->data);
 	if (dn1 == NULL) return -1;
 
-	dn2 = ldb_dn_explode_casefold(mem_ctx, (char *)v2->data);
+	dn2 = ldb_dn_explode_casefold(ldb, mem_ctx, (char *)v2->data);
 	if (dn2 == NULL) {
 		talloc_free(dn1);
 		return -1;

Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c	2006-10-09 09:12:57 UTC (rev 19195)
+++ branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c	2006-10-09 09:56:13 UTC (rev 19196)
@@ -554,10 +554,10 @@
 
 	if (dn0 == NULL || dn1 == NULL) return dn1 - dn0;
 
-	edn0 = ldb_dn_explode_casefold(ldb, dn0);
+	edn0 = ldb_dn_explode_casefold(ldb, ldb, dn0);
 	if (edn0 == NULL) return 1;
 
-	edn1 = ldb_dn_explode_casefold(ldb, dn1);
+	edn1 = ldb_dn_explode_casefold(ldb, ldb, dn1);
 	if (edn1 == NULL) {
 		talloc_free(edn0);
 		return -1;
@@ -575,14 +575,14 @@
   casefold a dn. We need to casefold the attribute names, and canonicalize 
   attribute values of case insensitive attributes.
 */
-struct ldb_dn *ldb_dn_casefold(struct ldb_context *ldb, const struct ldb_dn *edn)
+struct ldb_dn *ldb_dn_casefold(struct ldb_context *ldb, void *mem_ctx, const struct ldb_dn *edn)
 {
 	struct ldb_dn *cedn;
-	int i;
+	int i, ret;
 
 	if (edn == NULL) return NULL;
 
-	cedn = ldb_dn_new(ldb);
+	cedn = ldb_dn_new(mem_ctx);
 	if (!cedn) {
 		return NULL;
 	}
@@ -599,14 +599,17 @@
 		const struct ldb_attrib_handler *h;
 
 		memset(&dc, 0, sizeof(dc));
-		dc.name = ldb_attr_casefold(cedn, edn->components[i].name);
+		dc.name = ldb_attr_casefold(cedn->components, edn->components[i].name);
 		if (!dc.name) {
 			talloc_free(cedn);
 			return NULL;
 		}
 
 		h = ldb_attrib_handler(ldb, dc.name);
-		if (h->canonicalise_fn(ldb, cedn, &(edn->components[i].value), &(dc.value)) != 0) {
+		ret = h->canonicalise_fn(ldb, cedn->components,
+					 &(edn->components[i].value),
+					 &(dc.value));
+		if (ret != 0) {
 			talloc_free(cedn);
 			return NULL;
 		}
@@ -617,7 +620,7 @@
 	return cedn;
 }
 
-struct ldb_dn *ldb_dn_explode_casefold(struct ldb_context *ldb, const char *dn)
+struct ldb_dn *ldb_dn_explode_casefold(struct ldb_context *ldb, void *mem_ctx, const char *dn)
 {
 	struct ldb_dn *edn, *cdn;
 
@@ -626,13 +629,13 @@
 	edn = ldb_dn_explode(ldb, dn);
 	if (edn == NULL) return NULL;
 
-	cdn = ldb_dn_casefold(ldb, edn);
+	cdn = ldb_dn_casefold(ldb, mem_ctx, edn);
 	
 	talloc_free(edn);
 	return cdn;
 }
 
-char *ldb_dn_linearize_casefold(struct ldb_context *ldb, const struct ldb_dn *edn)
+char *ldb_dn_linearize_casefold(struct ldb_context *ldb, void *mem_ctx, const struct ldb_dn *edn)
 {
 	struct ldb_dn *cdn;
 	char *dn;
@@ -641,11 +644,11 @@
 
 	/* Special DNs */
 	if (ldb_dn_is_special(edn)) {
-		dn = talloc_strdup(ldb, (char *)edn->components[0].value.data);
+		dn = talloc_strdup(mem_ctx, (char *)edn->components[0].value.data);
 		return dn;
 	}
 
-	cdn = ldb_dn_casefold(ldb, edn);
+	cdn = ldb_dn_casefold(ldb, mem_ctx, edn);
 	if (cdn == NULL) return NULL;
 
 	dn = ldb_dn_linearize(ldb, cdn);

Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb_match.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/common/ldb_match.c	2006-10-09 09:12:57 UTC (rev 19195)
+++ branches/SAMBA_4_0/source/lib/ldb/common/ldb_match.c	2006-10-09 09:56:13 UTC (rev 19196)
@@ -149,7 +149,7 @@
 	int ret;
 
 	if (ldb_attr_dn(tree->u.equality.attr) == 0) {
-		valuedn = ldb_dn_explode_casefold(ldb, 
+		valuedn = ldb_dn_explode_casefold(ldb, ldb,
 						  (char *)tree->u.equality.value.data);
 		if (valuedn == NULL) {
 			return 0;

Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb_modules.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/common/ldb_modules.c	2006-10-09 09:12:57 UTC (rev 19195)
+++ branches/SAMBA_4_0/source/lib/ldb/common/ldb_modules.c	2006-10-09 09:56:13 UTC (rev 19196)
@@ -44,14 +44,13 @@
 #define LDB_MODULE_PREFIX	"modules:"
 #define LDB_MODULE_PREFIX_LEN	8
 
-static char *talloc_strdup_no_spaces(struct ldb_context *ldb, const char *string)
+static char *ldb_modules_strdup_no_spaces(TALLOC_CTX *mem_ctx, const char *string)
 {
 	int i, len;
 	char *trimmed;
 
-	trimmed = talloc_strdup(ldb, string);
+	trimmed = talloc_strdup(mem_ctx, string);
 	if (!trimmed) {
-		ldb_debug(ldb, LDB_DEBUG_FATAL, "Out of Memory in talloc_strdup_trim_spaces()\n");
 		return NULL;
 	}
 
@@ -81,9 +80,9 @@
 	int i;
 
 	/* spaces not admitted */
-	modstr = talloc_strdup_no_spaces((struct ldb_context *)mem_ctx,
-					 string);
+	modstr = ldb_modules_strdup_no_spaces(mem_ctx, string);
 	if ( ! modstr) {
+		ldb_debug(ldb, LDB_DEBUG_FATAL, "Out of Memory in ldb_modules_strdup_no_spaces()\n");
 		return NULL;
 	}
 

Modified: branches/SAMBA_4_0/source/lib/ldb/include/ldb.h
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/include/ldb.h	2006-10-09 09:12:57 UTC (rev 19195)
+++ branches/SAMBA_4_0/source/lib/ldb/include/ldb.h	2006-10-09 09:56:13 UTC (rev 19196)
@@ -1146,11 +1146,11 @@
 struct ldb_dn *ldb_dn_explode(void *mem_ctx, const char *dn);
 struct ldb_dn *ldb_dn_explode_or_special(void *mem_ctx, const char *dn);
 char *ldb_dn_linearize(void *mem_ctx, const struct ldb_dn *edn);
-char *ldb_dn_linearize_casefold(struct ldb_context *ldb, const struct ldb_dn *edn);
+char *ldb_dn_linearize_casefold(struct ldb_context *ldb, void *mem_ctx, const struct ldb_dn *edn);
 int ldb_dn_compare_base(struct ldb_context *ldb, const struct ldb_dn *base, const struct ldb_dn *dn);
 int ldb_dn_compare(struct ldb_context *ldb, const struct ldb_dn *edn0, const struct ldb_dn *edn1);
-struct ldb_dn *ldb_dn_casefold(struct ldb_context *ldb, const struct ldb_dn *edn);
-struct ldb_dn *ldb_dn_explode_casefold(struct ldb_context *ldb, const char *dn);
+struct ldb_dn *ldb_dn_casefold(struct ldb_context *ldb, void *mem_ctx, const struct ldb_dn *edn);
+struct ldb_dn *ldb_dn_explode_casefold(struct ldb_context *ldb, void *mem_ctx, const char *dn);
 struct ldb_dn *ldb_dn_copy_partial(void *mem_ctx, const struct ldb_dn *dn, int num_el);
 struct ldb_dn *ldb_dn_copy(void *mem_ctx, const struct ldb_dn *dn);
 struct ldb_dn *ldb_dn_get_parent(void *mem_ctx, const struct ldb_dn *dn);

Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_tdb.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_tdb.c	2006-10-09 09:12:57 UTC (rev 19195)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_tdb.c	2006-10-09 09:56:13 UTC (rev 19196)
@@ -138,7 +138,7 @@
 	     the rest
 	*/
 
-	dn_folded = ldb_dn_linearize_casefold(ldb, dn);
+	dn_folded = ldb_dn_linearize_casefold(ldb, ldb, dn);
 	if (!dn_folded) {
 		goto failed;
 	}



More information about the samba-cvs mailing list