svn commit: samba r17703 - in
branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules: .
abartlet at samba.org
abartlet at samba.org
Tue Aug 22 10:05:22 GMT 2006
Author: abartlet
Date: 2006-08-22 10:05:20 +0000 (Tue, 22 Aug 2006)
New Revision: 17703
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17703
Log:
Fixes to enable the entryUUID module to work for it's objectClass ->
OID mappings.
The key point is to 'enable' the partitions in the partitions module
before the init is complete. That way, the modules can perform
searches that use partitions.
Andrew Bartlett
Modified:
branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/entryUUID.c
branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/partition.c
Changeset:
Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/entryUUID.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/entryUUID.c 2006-08-22 07:20:59 UTC (rev 17702)
+++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/entryUUID.c 2006-08-22 10:05:20 UTC (rev 17703)
@@ -116,7 +116,7 @@
entryUUID_private = talloc_get_type(map_private->caller_private, struct entryUUID_private);
list = entryUUID_private->objectclass_res;
- for (i=0; list && i < list->count; i++) {
+ for (i=0; list && (i < list->count); i++) {
if (ldb_attr_cmp(val->data, ldb_msg_find_attr_as_string(list->msgs[i], "lDAPDisplayName", NULL)) == 0) {
char *dn = ldb_dn_linearize(ctx, list->msgs[i]->dn);
return data_blob_string_const(dn);
@@ -137,7 +137,7 @@
entryUUID_private = talloc_get_type(map_private->caller_private, struct entryUUID_private);
list = entryUUID_private->objectclass_res;
- for (i=0; list && i < list->count; i++) {
+ for (i=0; list && (i < list->count); i++) {
if (ldb_attr_cmp(val->data, ldb_msg_find_attr_as_string(list->msgs[i], "lDAPDisplayName", NULL)) == 0) {
const char *oid = ldb_msg_find_attr_as_string(list->msgs[i], "governsID", NULL);
return data_blob_string_const(oid);
@@ -158,7 +158,7 @@
entryUUID_private = talloc_get_type(map_private->caller_private, struct entryUUID_private);
list = entryUUID_private->objectclass_res;
- for (i=0; list && i < list->count; i++) {
+ for (i=0; list && (i < list->count); i++) {
if (ldb_attr_cmp(val->data, ldb_msg_find_attr_as_string(list->msgs[i], "governsID", NULL)) == 0) {
const char *oc = ldb_msg_find_attr_as_string(list->msgs[i], "lDAPDisplayName", NULL);
return data_blob_string_const(oc);
Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/partition.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/partition.c 2006-08-22 07:20:59 UTC (rev 17702)
+++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/partition.c 2006-08-22 10:05:20 UTC (rev 17703)
@@ -643,6 +643,10 @@
data->replicate[i] = NULL;
}
+ /* Make the private data available to any searches the modules may trigger in initialisation */
+ module->private_data = data;
+ talloc_steal(module, data);
+
modules_attributes = ldb_msg_find_element(msg, "modules");
if (modules_attributes) {
for (i=0; i < modules_attributes->num_values; i++) {
@@ -708,9 +712,6 @@
}
}
- module->private_data = data;
- talloc_steal(module, data);
-
talloc_free(mem_ctx);
return ldb_next_init(module);
}
More information about the samba-cvs
mailing list