[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-1449-g076ca26

Matthias Dieter Wallnöfer mdw at samba.org
Tue Sep 8 03:32:25 MDT 2009


The branch, master has been updated
       via  076ca26cfe9e8594204e6bdccfda4b5d77d6ac7c (commit)
      from  fb914640ad656b146f732ab33063575e2e47e37c (commit)

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


- Log -----------------------------------------------------------------
commit 076ca26cfe9e8594204e6bdccfda4b5d77d6ac7c
Author: Matthias Dieter Wallnöfer <mwallnoefer at yahoo.de>
Date:   Mon Sep 7 14:30:11 2009 +0200

    s4:templates - Remove the latest relics (in "dcesrv_lsa_CreateSecret")

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

Summary of changes:
 source4/dsdb/samdb/samdb.c          |  104 -----------------------------------
 source4/rpc_server/lsa/dcesrv_lsa.c |   10 ---
 2 files changed, 0 insertions(+), 114 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/samdb/samdb.c b/source4/dsdb/samdb/samdb.c
index 08e6e0d..e361cc7 100644
--- a/source4/dsdb/samdb/samdb.c
+++ b/source4/dsdb/samdb/samdb.c
@@ -113,110 +113,6 @@ struct ldb_context *samdb_connect(TALLOC_CTX *mem_ctx,
 	return ldb;
 }
 
-/*
-  copy from a template record to a message
-*/
-int samdb_copy_template(struct ldb_context *ldb, 
-			struct ldb_message *msg, const char *name,
-			const char **errstring)
-{
-	struct ldb_result *res;
-	struct ldb_message *t;
-	int ret, i, j;
-	struct ldb_context *templates_ldb;
-	char *templates_ldb_path; 
-	struct ldb_dn *basedn;
-	struct tevent_context *event_ctx;
-	struct loadparm_context *lp_ctx;
-
-	templates_ldb = talloc_get_type(ldb_get_opaque(ldb, "templates_ldb"), struct ldb_context);
-
-	if (!templates_ldb) {
-		templates_ldb_path = samdb_relative_path(ldb, 
-							 msg, 
-							 "templates.ldb");
-		if (!templates_ldb_path) {
-			*errstring = talloc_asprintf(msg, "samdb_copy_template: ERROR: Failed to contruct path for template db");
-			return LDB_ERR_OPERATIONS_ERROR;
-		}
-		
-		event_ctx = ldb_get_event_context(ldb);
-		lp_ctx = (struct loadparm_context *)ldb_get_opaque(ldb, "loadparm");
-
-		/* FIXME: need to remove this wehn we finally pass the event
-		 * context around in ldb */
-		if (event_ctx == NULL) {
-			event_ctx = s4_event_context_init(templates_ldb);
-		}
-
-		templates_ldb = ldb_wrap_connect(ldb, event_ctx, lp_ctx, 
-						templates_ldb_path, NULL,
-						NULL, 0, NULL);
-		talloc_free(templates_ldb_path);
-		if (!templates_ldb) {
-			*errstring = talloc_asprintf(msg, "samdb_copy_template: ERROR: Failed to connect to templates db at: %s",
-					     templates_ldb_path);
-			return LDB_ERR_OPERATIONS_ERROR;
-		}
-		
-		ret = ldb_set_opaque(ldb, "templates_ldb", templates_ldb);
-		if (ret != LDB_SUCCESS) {
-			return ret;
-		}
-	}
-	*errstring = NULL;	
-
-	basedn = ldb_dn_new(templates_ldb, ldb, "cn=Templates");
-	if (!ldb_dn_add_child_fmt(basedn, "CN=Template%s", name)) {
-		talloc_free(basedn);
-		*errstring = talloc_asprintf(msg, "samdb_copy_template: ERROR: Failed to contruct DN for template '%s'", 
-					     name);
-		return LDB_ERR_OPERATIONS_ERROR;
-	}
-	
-	/* pull the template record */
-	ret = ldb_search(templates_ldb, msg, &res, basedn, LDB_SCOPE_BASE, NULL, "distinguishedName=*");
-	talloc_free(basedn);
-	if (ret != LDB_SUCCESS) {
-		*errstring = talloc_steal(msg, ldb_errstring(templates_ldb));
-		return ret;
-	}
-	if (res->count != 1) {
-		*errstring = talloc_asprintf(msg, "samdb_copy_template: ERROR: template '%s' matched %d records, expected 1", 
-					     name, 
-					     res->count);
-		talloc_free(res);
-		return LDB_ERR_OPERATIONS_ERROR;
-	}
-	t = res->msgs[0];
-
-	for (i = 0; i < t->num_elements; i++) {
-		struct ldb_message_element *el = &t->elements[i];
-		/* some elements should not be copied from the template */
-		if (ldb_attr_cmp(el->name, "cn") == 0 ||
-		    ldb_attr_cmp(el->name, "name") == 0 ||
-		    ldb_attr_cmp(el->name, "objectClass") == 0 ||
-		    ldb_attr_cmp(el->name, "sAMAccountName") == 0 ||
-		    ldb_attr_cmp(el->name, "distinguishedName") == 0 ||
-		    ldb_attr_cmp(el->name, "objectGUID") == 0) {
-			continue;
-		}
-		for (j = 0; j < el->num_values; j++) {
-			ret = samdb_find_or_add_attribute(ldb, msg, el->name, 
-							  (char *)el->values[j].data);
-			if (ret) {
-				*errstring = talloc_asprintf(msg, "Adding attribute %s failed.", el->name);
-				talloc_free(res);
-				return ret;
-			}
-		}
-	}
-
-	talloc_free(res);
-
-	return LDB_SUCCESS;
-}
-
 
 /****************************************************************************
  Create the SID list for this user.
diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c
index 2b4a891..7bde42c 100644
--- a/source4/rpc_server/lsa/dcesrv_lsa.c
+++ b/source4/rpc_server/lsa/dcesrv_lsa.c
@@ -2129,7 +2129,6 @@ static NTSTATUS dcesrv_lsa_CreateSecret(struct dcesrv_call_state *dce_call, TALL
 	struct lsa_secret_state *secret_state;
 	struct dcesrv_handle *handle;
 	struct ldb_message **msgs, *msg;
-	const char *errstr;
 	const char *attrs[] = {
 		NULL
 	};
@@ -2233,15 +2232,6 @@ static NTSTATUS dcesrv_lsa_CreateSecret(struct dcesrv_call_state *dce_call, TALL
 		samdb_msg_add_string(secret_state->sam_ldb, mem_ctx, msg, "cn", name);
 	} 
 
-	/* pull in all the template attributes.  Note this is always from the global samdb */
-	ret = samdb_copy_template(secret_state->policy->sam_ldb, msg, 
-				  "secret", &errstr);
-	if (ret != 0) {
-		DEBUG(0,("Failed to load TemplateSecret from samdb: %s\n",
-			 errstr));
-		return NT_STATUS_INTERNAL_DB_CORRUPTION;
-	}
-
 	samdb_msg_add_string(secret_state->sam_ldb, mem_ctx, msg, "objectClass", "secret");
 	
 	secret_state->secret_dn = talloc_reference(secret_state, msg->dn);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list