svn commit: samba r19163 - in branches/SAMBA_3_0/source/lib/ldb:
common include ldb_tdb
metze at samba.org
metze at samba.org
Sat Oct 7 10:24:17 GMT 2006
Author: metze
Date: 2006-10-07 10:24:16 +0000 (Sat, 07 Oct 2006)
New Revision: 19163
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19163
Log:
pass always a mem_ctx to functions and a ldb_context where needed
It would be nice if someone can merge that to samba4,
otherwise I'll merge that to samba4 on monday
metze
Modified:
branches/SAMBA_3_0/source/lib/ldb/common/attrib_handlers.c
branches/SAMBA_3_0/source/lib/ldb/common/ldb_dn.c
branches/SAMBA_3_0/source/lib/ldb/common/ldb_match.c
branches/SAMBA_3_0/source/lib/ldb/include/ldb.h
branches/SAMBA_3_0/source/lib/ldb/ldb_tdb/ldb_tdb.c
Changeset:
Modified: branches/SAMBA_3_0/source/lib/ldb/common/attrib_handlers.c
===================================================================
--- branches/SAMBA_3_0/source/lib/ldb/common/attrib_handlers.c 2006-10-07 05:28:14 UTC (rev 19162)
+++ branches/SAMBA_3_0/source/lib/ldb/common/attrib_handlers.c 2006-10-07 10:24:16 UTC (rev 19163)
@@ -220,7 +220,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;
}
@@ -248,10 +248,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_3_0/source/lib/ldb/common/ldb_dn.c
===================================================================
--- branches/SAMBA_3_0/source/lib/ldb/common/ldb_dn.c 2006-10-07 05:28:14 UTC (rev 19162)
+++ branches/SAMBA_3_0/source/lib/ldb/common/ldb_dn.c 2006-10-07 10:24:16 UTC (rev 19163)
@@ -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;
}
@@ -598,14 +598,17 @@
struct ldb_dn_component dc;
const struct ldb_attrib_handler *h;
- 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;
}
@@ -616,7 +619,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;
@@ -625,13 +628,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;
@@ -640,11 +643,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_3_0/source/lib/ldb/common/ldb_match.c
===================================================================
--- branches/SAMBA_3_0/source/lib/ldb/common/ldb_match.c 2006-10-07 05:28:14 UTC (rev 19162)
+++ branches/SAMBA_3_0/source/lib/ldb/common/ldb_match.c 2006-10-07 10:24:16 UTC (rev 19163)
@@ -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_3_0/source/lib/ldb/include/ldb.h
===================================================================
--- branches/SAMBA_3_0/source/lib/ldb/include/ldb.h 2006-10-07 05:28:14 UTC (rev 19162)
+++ branches/SAMBA_3_0/source/lib/ldb/include/ldb.h 2006-10-07 10:24:16 UTC (rev 19163)
@@ -1145,11 +1145,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_3_0/source/lib/ldb/ldb_tdb/ldb_tdb.c
===================================================================
--- branches/SAMBA_3_0/source/lib/ldb/ldb_tdb/ldb_tdb.c 2006-10-07 05:28:14 UTC (rev 19162)
+++ branches/SAMBA_3_0/source/lib/ldb/ldb_tdb/ldb_tdb.c 2006-10-07 10:24:16 UTC (rev 19163)
@@ -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