svn commit: samba r17609 - in branches/SAMBA_4_0/source/cldap_server: .

abartlet at samba.org abartlet at samba.org
Fri Aug 18 22:20:13 GMT 2006


Author: abartlet
Date: 2006-08-18 22:20:13 +0000 (Fri, 18 Aug 2006)
New Revision: 17609

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

Log:
Kill one more use of the fake dnsDomain attribute.

Add a talloc_steal to avoid a memory leak of the ldb_search result.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/cldap_server/netlogon.c


Changeset:
Modified: branches/SAMBA_4_0/source/cldap_server/netlogon.c
===================================================================
--- branches/SAMBA_4_0/source/cldap_server/netlogon.c	2006-08-18 22:10:08 UTC (rev 17608)
+++ branches/SAMBA_4_0/source/cldap_server/netlogon.c	2006-08-18 22:20:13 UTC (rev 17609)
@@ -47,8 +47,8 @@
 				     uint32_t version,
 				     union nbt_cldap_netlogon *netlogon)
 {
-	const char *ref_attrs[] = {"nETBIOSName", "ncName", NULL};
-	const char *dom_attrs[] = {"dnsDomain", "objectGUID", NULL};
+	const char *ref_attrs[] = {"nETBIOSName", "dnsRoot", "ncName", NULL};
+	const char *dom_attrs[] = {"objectGUID", NULL};
 	struct ldb_message **ref_res, **dom_res;
 	int ret, count = 0;
 	const char **services = lp_server_services();
@@ -96,6 +96,7 @@
 				DEBUG(2,("Error finding domain '%s'/'%s' in sam: %s\n", domain, ldb_dn_linearize(mem_ctx, dom_dn), ldb_errstring(cldapd->samctx)));
 				return NT_STATUS_NO_SUCH_DOMAIN;
 			}
+			talloc_steal(mem_ctx, dom_ldb_result);
 			if (dom_ldb_result->count != 1) {
 				DEBUG(2,("Error finding domain '%s'/'%s' in sam\n", domain, ldb_dn_linearize(mem_ctx, dom_dn)));
 				return NT_STATUS_NO_SUCH_DOMAIN;
@@ -143,8 +144,8 @@
 
 	pdc_name         = talloc_asprintf(mem_ctx, "\\\\%s", lp_netbios_name());
 	domain_uuid      = samdb_result_guid(dom_res[0], "objectGUID");
-	realm            = samdb_result_string(dom_res[0], "dnsDomain", lp_realm());
-	dns_domain       = samdb_result_string(dom_res[0], "dnsDomain", lp_realm());
+	realm            = samdb_result_string(ref_res[0], "dnsRoot", lp_realm());
+	dns_domain       = samdb_result_string(ref_res[0], "dnsRoot", lp_realm());
 	pdc_dns_name     = talloc_asprintf(mem_ctx, "%s.%s", 
 					   strlower_talloc(mem_ctx, lp_netbios_name()), 
 					   dns_domain);



More information about the samba-cvs mailing list