[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-273-gd4aeed8

Simo Sorce idra at samba.org
Fri Jan 30 22:09:23 GMT 2009


The branch, master has been updated
       via  d4aeed879b21db41643250a23b1009b543e6c99f (commit)
      from  4519eae158e7821dcd2f818eea830cfcdd4a0105 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d4aeed879b21db41643250a23b1009b543e6c99f
Author: Simo Sorce <idra at samba.org>
Date:   Fri Jan 30 16:31:19 2009 -0500

    Fix all other modules to use ldb_module.h instead of ldb_private.h
    The only 2 modules escaping the rule so far are rootdse and partitions

-----------------------------------------------------------------------

Summary of changes:
 source4/dsdb/samdb/ldb_modules/kludge_acl.c        |   58 +++--
 source4/dsdb/samdb/ldb_modules/linked_attributes.c |  102 +++++---
 source4/dsdb/samdb/ldb_modules/local_password.c    |  105 +++++---
 source4/dsdb/samdb/ldb_modules/naming_fsmo.c       |   39 ++--
 source4/dsdb/samdb/ldb_modules/objectclass.c       |  135 ++++++----
 source4/dsdb/samdb/ldb_modules/password_hash.c     |  276 +++++++++++---------
 source4/dsdb/samdb/ldb_modules/pdc_fsmo.c          |   37 ++--
 source4/dsdb/samdb/ldb_modules/proxy.c             |   60 +++--
 source4/dsdb/samdb/ldb_modules/repl_meta_data.c    |  155 +++++++-----
 source4/dsdb/samdb/ldb_modules/rootdse.c           |   62 +++--
 source4/dsdb/samdb/ldb_modules/samba3sam.c         |   15 +-
 source4/dsdb/samdb/ldb_modules/samldb.c            |  176 ++++++++-----
 source4/dsdb/samdb/ldb_modules/schema_fsmo.c       |   92 ++++---
 source4/dsdb/samdb/ldb_modules/show_deleted.c      |   16 +-
 source4/dsdb/samdb/ldb_modules/simple_ldap_map.c   |   27 +-
 source4/dsdb/schema/schema_set.c                   |    4 +-
 source4/lib/ldb/include/ldb.h                      |    3 +
 source4/lib/ldb/include/ldb_private.h              |    3 -
 source4/nbt_server/wins/wins_ldb.c                 |   26 +-
 19 files changed, 817 insertions(+), 574 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/samdb/ldb_modules/kludge_acl.c b/source4/dsdb/samdb/ldb_modules/kludge_acl.c
index bb95c7e..1597f68 100644
--- a/source4/dsdb/samdb/ldb_modules/kludge_acl.c
+++ b/source4/dsdb/samdb/ldb_modules/kludge_acl.c
@@ -31,9 +31,7 @@
  */
 
 #include "includes.h"
-#include "ldb/include/ldb.h"
-#include "ldb/include/ldb_errors.h"
-#include "ldb/include/ldb_private.h"
+#include "ldb_module.h"
 #include "auth/auth.h"
 #include "libcli/security/security.h"
 #include "dsdb/samdb/samdb.h"
@@ -52,15 +50,17 @@ struct kludge_private_data {
 
 static enum security_user_level what_is_user(struct ldb_module *module) 
 {
+	struct ldb_context *ldb = ldb_module_get_ctx(module);
 	struct auth_session_info *session_info
-		= (struct auth_session_info *)ldb_get_opaque(module->ldb, "sessionInfo");
+		= (struct auth_session_info *)ldb_get_opaque(ldb, "sessionInfo");
 	return security_session_user_level(session_info);
 }
 
 static const char *user_name(TALLOC_CTX *mem_ctx, struct ldb_module *module) 
 {
+	struct ldb_context *ldb = ldb_module_get_ctx(module);
 	struct auth_session_info *session_info
-		= (struct auth_session_info *)ldb_get_opaque(module->ldb, "sessionInfo");
+		= (struct auth_session_info *)ldb_get_opaque(ldb, "sessionInfo");
 	if (!session_info) {
 		return "UNKNOWN (NULL)";
 	}
@@ -209,12 +209,14 @@ static int kludge_acl_childClasses(struct ldb_context *ldb, struct ldb_message *
 
 static int kludge_acl_callback(struct ldb_request *req, struct ldb_reply *ares)
 {
+	struct ldb_context *ldb;
 	struct kludge_acl_context *ac;
 	struct kludge_private_data *data;
 	int i, ret;
 
 	ac = talloc_get_type(req->context, struct kludge_acl_context);
-	data = talloc_get_type(ac->module->private_data, struct kludge_private_data);
+	data = talloc_get_type(ldb_module_get_private(ac->module), struct kludge_private_data);
+	ldb = ldb_module_get_ctx(ac->module);
 
 	if (!ares) {
 		return ldb_module_done(ac->req, NULL, NULL,
@@ -228,7 +230,7 @@ static int kludge_acl_callback(struct ldb_request *req, struct ldb_reply *ares)
 	switch (ares->type) {
 	case LDB_REPLY_ENTRY:
 		if (ac->allowedAttributes) {
-			ret = kludge_acl_allowedAttributes(ac->module->ldb,
+			ret = kludge_acl_allowedAttributes(ldb,
 						   ares->message,
 						   "allowedAttributes");
 			if (ret != LDB_SUCCESS) {
@@ -236,7 +238,7 @@ static int kludge_acl_callback(struct ldb_request *req, struct ldb_reply *ares)
 			}
 		}
 		if (ac->allowedChildClasses) {
-			ret = kludge_acl_childClasses(ac->module->ldb,
+			ret = kludge_acl_childClasses(ldb,
 						ares->message,
 						"allowedChildClasses");
 			if (ret != LDB_SUCCESS) {
@@ -249,14 +251,14 @@ static int kludge_acl_callback(struct ldb_request *req, struct ldb_reply *ares)
 			switch (ac->user_type) {
 			case SECURITY_SYSTEM:
 				if (ac->allowedAttributesEffective) {
-					ret = kludge_acl_allowedAttributes(ac->module->ldb, ares->message,
+					ret = kludge_acl_allowedAttributes(ldb, ares->message,
 									"allowedAttributesEffective");
 					if (ret != LDB_SUCCESS) {
 						return ldb_module_done(ac->req, NULL, NULL, ret);
 					}
 				}
 				if (ac->allowedChildClassesEffective) {
-					ret = kludge_acl_childClasses(ac->module->ldb, ares->message,
+					ret = kludge_acl_childClasses(ldb, ares->message,
 									"allowedChildClassesEffective");
 					if (ret != LDB_SUCCESS) {
 						return ldb_module_done(ac->req, NULL, NULL, ret);
@@ -266,14 +268,14 @@ static int kludge_acl_callback(struct ldb_request *req, struct ldb_reply *ares)
 
 			case SECURITY_ADMINISTRATOR:
 				if (ac->allowedAttributesEffective) {
-					ret = kludge_acl_allowedAttributes(ac->module->ldb, ares->message,
+					ret = kludge_acl_allowedAttributes(ldb, ares->message,
 									"allowedAttributesEffective");
 					if (ret != LDB_SUCCESS) {
 						return ldb_module_done(ac->req, NULL, NULL, ret);
 					}
 				}
 				if (ac->allowedChildClassesEffective) {
-					ret = kludge_acl_childClasses(ac->module->ldb, ares->message,
+					ret = kludge_acl_childClasses(ldb, ares->message,
 									"allowedChildClassesEffective");
 					if (ret != LDB_SUCCESS) {
 						return ldb_module_done(ac->req, NULL, NULL, ret);
@@ -316,6 +318,7 @@ static int kludge_acl_callback(struct ldb_request *req, struct ldb_reply *ares)
 
 static int kludge_acl_search(struct ldb_module *module, struct ldb_request *req)
 {
+	struct ldb_context *ldb;
 	struct kludge_acl_context *ac;
 	struct ldb_request *down_req;
 	struct kludge_private_data *data;
@@ -324,13 +327,15 @@ static int kludge_acl_search(struct ldb_module *module, struct ldb_request *req)
 	struct ldb_control *sd_control;
 	struct ldb_control **sd_saved_controls;
 
+	ldb = ldb_module_get_ctx(module);
+
 	ac = talloc(req, struct kludge_acl_context);
 	if (ac == NULL) {
-		ldb_oom(module->ldb);
+		ldb_oom(ldb);
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 
-	data = talloc_get_type(module->private_data, struct kludge_private_data);
+	data = talloc_get_type(ldb_module_get_private(module), struct kludge_private_data);
 
 	ac->module = module;
 	ac->req = req;
@@ -372,7 +377,7 @@ static int kludge_acl_search(struct ldb_module *module, struct ldb_request *req)
 	}
 
 	ret = ldb_build_search_req_ex(&down_req,
-					module->ldb, ac,
+					ldb, ac,
 					req->op.search.base,
 					req->op.search.scope,
 					req->op.search.tree,
@@ -402,13 +407,14 @@ static int kludge_acl_search(struct ldb_module *module, struct ldb_request *req)
 /* ANY change type */
 static int kludge_acl_change(struct ldb_module *module, struct ldb_request *req)
 {
+	struct ldb_context *ldb = ldb_module_get_ctx(module);
 	enum security_user_level user_type = what_is_user(module);
 	switch (user_type) {
 	case SECURITY_SYSTEM:
 	case SECURITY_ADMINISTRATOR:
 		return ldb_next_request(module, req);
 	default:
-		ldb_asprintf_errstring(module->ldb,
+		ldb_asprintf_errstring(ldb,
 				       "kludge_acl_change: "
 				       "attempted database modify not permitted. "
 				       "User %s is not SYSTEM or an administrator",
@@ -419,6 +425,7 @@ static int kludge_acl_change(struct ldb_module *module, struct ldb_request *req)
 
 static int kludge_acl_extended(struct ldb_module *module, struct ldb_request *req)
 {
+	struct ldb_context *ldb = ldb_module_get_ctx(module);
 	enum security_user_level user_type;
 
 	/* allow everybody to read the sequence number */
@@ -434,7 +441,7 @@ static int kludge_acl_extended(struct ldb_module *module, struct ldb_request *re
 	case SECURITY_ADMINISTRATOR:
 		return ldb_next_request(module, req);
 	default:
-		ldb_asprintf_errstring(module->ldb,
+		ldb_asprintf_errstring(ldb,
 				       "kludge_acl_change: "
 				       "attempted database modify not permitted. "
 				       "User %s is not SYSTEM or an administrator",
@@ -445,6 +452,7 @@ static int kludge_acl_extended(struct ldb_module *module, struct ldb_request *re
 
 static int kludge_acl_init(struct ldb_module *module)
 {
+	struct ldb_context *ldb;
 	int ret, i;
 	TALLOC_CTX *mem_ctx = talloc_new(module);
 	static const char *attrs[] = { "passwordAttribute", NULL };
@@ -454,22 +462,24 @@ static int kludge_acl_init(struct ldb_module *module)
 
 	struct kludge_private_data *data;
 
+	ldb = ldb_module_get_ctx(module);
+
 	data = talloc(module, struct kludge_private_data);
 	if (data == NULL) {
-		ldb_oom(module->ldb);
+		ldb_oom(ldb);
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 
 	data->password_attrs = NULL;
-	module->private_data = data;
+	ldb_module_set_private(module, data);
 
 	if (!mem_ctx) {
-		ldb_oom(module->ldb);
+		ldb_oom(ldb);
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 
-	ret = ldb_search(module->ldb, mem_ctx, &res,
-			 ldb_dn_new(mem_ctx, module->ldb, "@KLUDGEACL"),
+	ret = ldb_search(ldb, mem_ctx, &res,
+			 ldb_dn_new(mem_ctx, ldb, "@KLUDGEACL"),
 			 LDB_SCOPE_BASE, attrs, NULL);
 	if (ret != LDB_SUCCESS) {
 		goto done;
@@ -492,7 +502,7 @@ static int kludge_acl_init(struct ldb_module *module)
 	data->password_attrs = talloc_array(data, const char *, password_attributes->num_values + 1);
 	if (!data->password_attrs) {
 		talloc_free(mem_ctx);
-		ldb_oom(module->ldb);
+		ldb_oom(ldb);
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 	for (i=0; i < password_attributes->num_values; i++) {
@@ -503,7 +513,7 @@ static int kludge_acl_init(struct ldb_module *module)
 
 	ret = ldb_mod_register_control(module, LDB_CONTROL_SD_FLAGS_OID);
 	if (ret != LDB_SUCCESS) {
-		ldb_debug(module->ldb, LDB_DEBUG_ERROR,
+		ldb_debug(ldb, LDB_DEBUG_ERROR,
 			"partition: Unable to register control with rootdse!\n");
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
diff --git a/source4/dsdb/samdb/ldb_modules/linked_attributes.c b/source4/dsdb/samdb/ldb_modules/linked_attributes.c
index a3318cc..2365a58 100644
--- a/source4/dsdb/samdb/ldb_modules/linked_attributes.c
+++ b/source4/dsdb/samdb/ldb_modules/linked_attributes.c
@@ -29,10 +29,7 @@
  */
 
 #include "includes.h"
-#include "ldb/include/ldb.h"
-#include "ldb/include/ldb_errors.h"
-#include "ldb/include/ldb_private.h"
-#include "ldb/include/dlinklist.h"
+#include "ldb_module.h"
 #include "dsdb/samdb/samdb.h"
 
 struct la_op_store {
@@ -65,15 +62,18 @@ struct la_context {
 static struct la_context *linked_attributes_init(struct ldb_module *module,
 						 struct ldb_request *req)
 {
+	struct ldb_context *ldb;
 	struct la_context *ac;
 
+	ldb = ldb_module_get_ctx(module);
+
 	ac = talloc_zero(req, struct la_context);
 	if (ac == NULL) {
-		ldb_oom(module->ldb);
+		ldb_oom(ldb);
 		return NULL;
 	}
 
-	ac->schema = dsdb_get_schema(module->ldb);
+	ac->schema = dsdb_get_schema(ldb);
 	ac->module = module;
 	ac->req = req;
 
@@ -86,19 +86,22 @@ static int la_store_op(struct la_context *ac,
 		       enum la_op op, struct ldb_val *dn,
 			const char *name)
 {
+	struct ldb_context *ldb;
 	struct la_op_store *os;
 	struct ldb_dn *op_dn;
 
-	op_dn = ldb_dn_from_ldb_val(ac, ac->module->ldb, dn);
+	ldb = ldb_module_get_ctx(ac->module);
+
+	op_dn = ldb_dn_from_ldb_val(ac, ldb, dn);
 	if (!op_dn) {
-		ldb_asprintf_errstring(ac->module->ldb, 
+		ldb_asprintf_errstring(ldb, 
 				       "could not parse attribute as a DN");
 		return LDB_ERR_INVALID_DN_SYNTAX;
 	}
 
 	os = talloc_zero(ac, struct la_op_store);
 	if (!os) {
-		ldb_oom(ac->module->ldb);
+		ldb_oom(ldb);
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 
@@ -108,7 +111,7 @@ static int la_store_op(struct la_context *ac,
 
 	os->name = talloc_strdup(os, name);
 	if (!os->name) {
-		ldb_oom(ac->module->ldb);
+		ldb_oom(ldb);
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 
@@ -136,12 +139,15 @@ static int la_down_req(struct la_context *ac);
 /* add */
 static int linked_attributes_add(struct ldb_module *module, struct ldb_request *req)
 {
+	struct ldb_context *ldb;
 	const struct dsdb_attribute *target_attr;
 	struct la_context *ac;
 	const char *attr_name;
 	int ret;
 	int i, j;
 
+	ldb = ldb_module_get_ctx(module);
+
 	if (ldb_dn_is_special(req->op.add.message->dn)) {
 		/* do not manipulate our control entries */
 		return ldb_next_request(module, req);
@@ -164,7 +170,7 @@ static int linked_attributes_add(struct ldb_module *module, struct ldb_request *
 		const struct dsdb_attribute *schema_attr
 			= dsdb_attribute_by_lDAPDisplayName(ac->schema, el->name);
 		if (!schema_attr) {
-			ldb_asprintf_errstring(module->ldb, 
+			ldb_asprintf_errstring(ldb, 
 					       "attribute %s is not a valid attribute in schema", el->name);
 			return LDB_ERR_OBJECT_CLASS_VIOLATION;			
 		}
@@ -175,7 +181,7 @@ static int linked_attributes_add(struct ldb_module *module, struct ldb_request *
 		
 		if ((schema_attr->linkID & 1) == 1) {
 			/* Odd is for the target.  Illigal to modify */
-			ldb_asprintf_errstring(module->ldb, 
+			ldb_asprintf_errstring(ldb, 
 					       "attribute %s must not be modified directly, it is a linked attribute", el->name);
 			return LDB_ERR_UNWILLING_TO_PERFORM;
 		}
@@ -222,6 +228,7 @@ static int linked_attributes_add(struct ldb_module *module, struct ldb_request *
 
 static int la_mod_search_callback(struct ldb_request *req, struct ldb_reply *ares)
 {
+	struct ldb_context *ldb;
 	const struct dsdb_attribute *schema_attr;
 	const struct dsdb_attribute *target_attr;
 	struct ldb_message_element *search_el;
@@ -232,6 +239,7 @@ static int la_mod_search_callback(struct ldb_request *req, struct ldb_reply *are
 	int ret = LDB_SUCCESS;
 
 	ac = talloc_get_type(req->context, struct la_context);
+	ldb = ldb_module_get_ctx(ac->module);
 	rc = ac->rc;
 
 	if (!ares) {
@@ -248,7 +256,7 @@ static int la_mod_search_callback(struct ldb_request *req, struct ldb_reply *are
 	case LDB_REPLY_ENTRY:
 
 		if (ldb_dn_compare(ares->message->dn, ac->req->op.mod.message->dn) != 0) {
-			ldb_asprintf_errstring(ac->module->ldb, 
+			ldb_asprintf_errstring(ldb, 
 					       "linked_attributes: %s is not the DN we were looking for", ldb_dn_get_linearized(ares->message->dn));
 			/* Guh?  We only asked for this DN */
 			talloc_free(ares);
@@ -263,7 +271,7 @@ static int la_mod_search_callback(struct ldb_request *req, struct ldb_reply *are
 
 			schema_attr = dsdb_attribute_by_lDAPDisplayName(ac->schema, rc->el[i].name);
 			if (!schema_attr) {
-				ldb_asprintf_errstring(ac->module->ldb,
+				ldb_asprintf_errstring(ldb,
 					"attribute %s is not a valid attribute in schema",
 					rc->el[i].name);
 				talloc_free(ares);
@@ -348,6 +356,7 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques
 	/* Determine the effect of the modification */
 	/* Apply the modify to the linked entry */
 
+	struct ldb_context *ldb;
 	int i, j;
 	struct la_context *ac;
 	struct ldb_request *search_req;
@@ -355,6 +364,8 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques
 
 	int ret;
 
+	ldb = ldb_module_get_ctx(module);
+
 	if (ldb_dn_is_special(req->op.mod.message->dn)) {
 		/* do not manipulate our control entries */
 		return ldb_next_request(module, req);
@@ -372,7 +383,7 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques
 
 	ac->rc = talloc_zero(ac, struct replace_context);
 	if (!ac->rc) {
-		ldb_oom(module->ldb);
+		ldb_oom(ldb);
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 
@@ -384,7 +395,7 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques
 		const struct dsdb_attribute *schema_attr
 			= dsdb_attribute_by_lDAPDisplayName(ac->schema, el->name);
 		if (!schema_attr) {
-			ldb_asprintf_errstring(module->ldb, 
+			ldb_asprintf_errstring(ldb, 
 					       "attribute %s is not a valid attribute in schema", el->name);
 			return LDB_ERR_OBJECT_CLASS_VIOLATION;			
 		}
@@ -395,7 +406,7 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques
 		
 		if ((schema_attr->linkID & 1) == 1) {
 			/* Odd is for the target.  Illegal to modify */
-			ldb_asprintf_errstring(module->ldb, 
+			ldb_asprintf_errstring(ldb, 
 					       "attribute %s must not be modified directly, it is a linked attribute", el->name);
 			return LDB_ERR_UNWILLING_TO_PERFORM;
 		}
@@ -466,7 +477,7 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques
 						   struct ldb_message_element,
 						   ac->rc->num_elements +1);
 			if (!search_el) {
-				ldb_oom(module->ldb);
+				ldb_oom(ldb);
 				return LDB_ERR_OPERATIONS_ERROR;
 			}
 			ac->rc->el = search_el;
@@ -482,7 +493,7 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques
 		
 		attrs = talloc_array(ac->rc, const char *, ac->rc->num_elements + 1);
 		if (!attrs) {
-			ldb_oom(module->ldb);
+			ldb_oom(ldb);
 			return LDB_ERR_OPERATIONS_ERROR;
 		}
 		for (i = 0; ac->rc && i < ac->rc->num_elements; i++) {
@@ -491,7 +502,7 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques
 		attrs[i] = NULL;
 		
 		/* The callback does all the hard work here */
-		ret = ldb_build_search_req(&search_req, module->ldb, ac,
+		ret = ldb_build_search_req(&search_req, ldb, ac,
 					   req->op.mod.message->dn,
 					   LDB_SCOPE_BASE,
 					   "(objectClass=*)", attrs,
@@ -523,6 +534,7 @@ static int linked_attributes_modify(struct ldb_module *module, struct ldb_reques
 /* delete, rename */
 static int linked_attributes_del(struct ldb_module *module, struct ldb_request *req)
 {
+	struct ldb_context *ldb;
 	struct ldb_request *search_req;
 	struct la_context *ac;
 	const char **attrs;
@@ -538,6 +550,8 @@ static int linked_attributes_del(struct ldb_module *module, struct ldb_request *
 	   - Regain our sainity
 	*/
 
+	ldb = ldb_module_get_ctx(module);
+
 	ac = linked_attributes_init(module, req);
 	if (!ac) {
 		return LDB_ERR_OPERATIONS_ERROR;
@@ -553,7 +567,7 @@ static int linked_attributes_del(struct ldb_module *module, struct ldb_request *
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 
-	ret = ldb_build_search_req(&search_req, module->ldb, req,
+	ret = ldb_build_search_req(&search_req, ldb, req,
 				   req->op.del.dn, LDB_SCOPE_BASE,
 				   "(objectClass=*)", attrs,
 				   NULL,
@@ -601,6 +615,7 @@ static int linked_attributes_rename(struct ldb_module *module, struct ldb_reques
 static int la_op_search_callback(struct ldb_request *req,
 				 struct ldb_reply *ares)
 {
+	struct ldb_context *ldb;
 	struct la_context *ac;
 	const struct dsdb_attribute *schema_attr;
 	const struct dsdb_attribute *target_attr;
@@ -610,6 +625,7 @@ static int la_op_search_callback(struct ldb_request *req,
 	int ret;
 
 	ac = talloc_get_type(req->context, struct la_context);
+	ldb = ldb_module_get_ctx(ac->module);
 
 	if (!ares) {
 		return ldb_module_done(ac->req, NULL, NULL,
@@ -647,7 +663,7 @@ static int la_op_search_callback(struct ldb_request *req,
 			break;
 		default:
 			talloc_free(ares);
-			ldb_set_errstring(ac->module->ldb,
+			ldb_set_errstring(ldb,
 					  "operations must be delete or rename");
 			return ldb_module_done(ac->req, NULL, NULL,
 						LDB_ERR_OPERATIONS_ERROR);
@@ -658,7 +674,7 @@ static int la_op_search_callback(struct ldb_request *req,
 
 			schema_attr = dsdb_attribute_by_lDAPDisplayName(ac->schema, el->name);
 			if (!schema_attr) {
-				ldb_asprintf_errstring(ac->module->ldb,
+				ldb_asprintf_errstring(ldb,
 					"attribute %s is not a valid attribute"
 					" in schema", el->name);
 				talloc_free(ares);
@@ -737,7 +753,7 @@ static int la_op_search_callback(struct ldb_request *req,
 			


-- 
Samba Shared Repository


More information about the samba-cvs mailing list