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;
