svn commit: samba r4321 - in branches/SAMBA_4_0/source/rpc_server/netlogon: .

metze at samba.org metze at samba.org
Tue Dec 21 11:52:53 GMT 2004


Author: metze
Date: 2004-12-21 11:52:53 +0000 (Tue, 21 Dec 2004)
New Revision: 4321

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

Log:
objectClass trustedDomain uses "securityIdentifier" for the sid

also explicit tell the fill_info code what kind of object the current
result is.

metze

Modified:
   branches/SAMBA_4_0/source/rpc_server/netlogon/dcerpc_netlogon.c


Changeset:
Modified: branches/SAMBA_4_0/source/rpc_server/netlogon/dcerpc_netlogon.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/netlogon/dcerpc_netlogon.c	2004-12-21 11:49:36 UTC (rev 4320)
+++ branches/SAMBA_4_0/source/rpc_server/netlogon/dcerpc_netlogon.c	2004-12-21 11:52:53 UTC (rev 4321)
@@ -901,24 +901,25 @@
   fill in a netr_DomainTrustInfo from a ldb search result
 */
 static NTSTATUS fill_domain_trust_info(TALLOC_CTX *mem_ctx, struct ldb_message *res,
-				       struct netr_DomainTrustInfo *info)
+				       struct netr_DomainTrustInfo *info, BOOL is_local)
 {
 	ZERO_STRUCTP(info);
-	
-	info->domainname.string = samdb_result_string(res, "flatName", NULL);
-	if (info->domainname.string == NULL) {
+
+	if (is_local) {
 		info->domainname.string = samdb_result_string(res, "name", NULL);
 		info->fulldomainname.string = samdb_result_string(res, "dnsDomain", NULL);
+		info->guid = samdb_result_guid(res, "objectGUID");
+		info->sid = samdb_result_dom_sid(mem_ctx, res, "objectSid");
 	} else {
+		info->domainname.string = samdb_result_string(res, "flatName", NULL);
 		info->fulldomainname.string = samdb_result_string(res, "name", NULL);
+		info->guid = samdb_result_guid(res, "objectGUID");
+		info->sid = samdb_result_dom_sid(mem_ctx, res, "securityIdentifier");
 	}
 
 	/* TODO: we need proper forest support */
 	info->forest.string = info->fulldomainname.string;
 
-	info->guid = samdb_result_guid(res, "objectGUID");
-	info->sid = samdb_result_dom_sid(mem_ctx, res, "objectSid");
-
 	return NT_STATUS_OK;
 }
 
@@ -931,7 +932,8 @@
 {
 	struct server_pipe_state *pipe_state = dce_call->conn->private;
 	const char * const attrs[] = { "name", "dnsDomain", "objectSid", 
-				       "objectGUID", "flatName", NULL };
+				       "objectGUID", "flatName", "securityIdentifier",
+				       NULL };
 	void *sam_ctx;
 	struct ldb_message **res1, **res2;
 	struct netr_DomainInfo1 *info1;
@@ -981,18 +983,18 @@
 		return NT_STATUS_NO_MEMORY;
 	}
 
-	status = fill_domain_trust_info(mem_ctx, res1[0], &info1->domaininfo);
+	status = fill_domain_trust_info(mem_ctx, res1[0], &info1->domaininfo, True);
 	if (!NT_STATUS_IS_OK(status)) {
 		return status;
 	}
 
-	status = fill_domain_trust_info(mem_ctx, res1[0], &info1->trusts[0]);
+	status = fill_domain_trust_info(mem_ctx, res1[0], &info1->trusts[0], True);
 	if (!NT_STATUS_IS_OK(status)) {
 		return status;
 	}
 
 	for (i=0;i<ret2;i++) {
-		status = fill_domain_trust_info(mem_ctx, res2[i], &info1->trusts[i+1]);
+		status = fill_domain_trust_info(mem_ctx, res2[i], &info1->trusts[i+1], False);
 		if (!NT_STATUS_IS_OK(status)) {
 			return status;
 		}



More information about the samba-cvs mailing list