svn commit: samba r9643 - in branches/SAMBA_4_0/source/libnet: .

tridge at samba.org tridge at samba.org
Fri Aug 26 11:36:29 GMT 2005


Author: tridge
Date: 2005-08-26 11:36:28 +0000 (Fri, 26 Aug 2005)
New Revision: 9643

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

Log:
fixed samsync code for the new dn explode semantics

Modified:
   branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c	2005-08-26 11:20:53 UTC (rev 9642)
+++ branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c	2005-08-26 11:36:28 UTC (rev 9643)
@@ -119,6 +119,8 @@
 		const char *domain_attrs[] =  {"nETBIOSName", "nCName", NULL};
 		struct ldb_message **msgs_domain;
 		int ret_domain;
+		char *base_dn;
+
 		ret_domain = gendb_search(state->sam_ldb, mem_ctx, NULL, &msgs_domain, domain_attrs,
 					  "(&(&(nETBIOSName=%s)(objectclass=crossRef))(ncName=*))", 
 					  domain_name);
@@ -130,24 +132,20 @@
 			return NT_STATUS_NO_SUCH_DOMAIN;		
 		}
 
-		state->base_dn[database]
-			= talloc_steal(state, samdb_result_string(msgs_domain[0], 
-								  "nCName", NULL));
-		
-		state->dom_sid[database]
-			= talloc_steal(state, 
-				       samdb_search_dom_sid(state->sam_ldb, state,
-							    state->base_dn[database], "objectSid", "dn=%s",
-							    ldb_dn_linearize(mem_ctx, state->base_dn[database])));
+		state->base_dn[database] = samdb_result_dn(state, msgs_domain[0], "nCName", NULL);
+
+		base_dn = ldb_dn_linearize(mem_ctx, state->base_dn[database]);
+
+		state->dom_sid[database] = samdb_search_dom_sid(state->sam_ldb, state,
+								state->base_dn[database], 
+								"objectSid", "dn=%s", base_dn);
 	} else if (database == SAM_DATABASE_BUILTIN) {
-			/* work out the builtin_dn - useful for so many calls its worth
-			   fetching here */
-		state->base_dn[database]
-			= talloc_steal(state, 
-				       samdb_search_string(state->sam_ldb, mem_ctx, NULL,
-							   "dn", "objectClass=builtinDomain"));
-		state->dom_sid[database]
-			= dom_sid_parse_talloc(state, SID_BUILTIN);
+		/* work out the builtin_dn - useful for so many calls its worth
+		   fetching here */
+		const char *dnstring = samdb_search_string(state->sam_ldb, mem_ctx, NULL,
+							   "dn", "objectClass=builtinDomain");
+		state->base_dn[database] = ldb_dn_explode(state, dnstring);
+		state->dom_sid[database] = dom_sid_parse_talloc(state, SID_BUILTIN);
 	} else {
 		/* PRIVs DB */
 		return NT_STATUS_INVALID_PARAMETER;



More information about the samba-cvs mailing list