From b309e046f61850f4da716ba30481f31bf7f09d8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= Date: Wed, 24 Feb 2016 19:40:47 +0200 Subject: [PATCH] samr4: Use in GetAliasMembership MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As in commit 841845dea35089a187fd1626c9752d708989ac7b, this avoids quoting problems in user DN's. Signed-off-by: Mantas Mikulėnas --- source4/rpc_server/samr/dcesrv_samr.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/source4/rpc_server/samr/dcesrv_samr.c b/source4/rpc_server/samr/dcesrv_samr.c index 9f3bd10..824d777 100644 --- a/source4/rpc_server/samr/dcesrv_samr.c +++ b/source4/rpc_server/samr/dcesrv_samr.c @@ -1522,6 +1522,7 @@ static NTSTATUS dcesrv_samr_GetAliasMembership(struct dcesrv_call_state *dce_cal struct ldb_message **res; uint32_t i; int count = 0; + char membersidstr[DOM_SID_STR_BUFLEN]; DCESRV_PULL_HANDLE(h, r->in.domain_handle, SAMR_HANDLE_DOMAIN); @@ -1537,19 +1538,11 @@ static NTSTATUS dcesrv_samr_GetAliasMembership(struct dcesrv_call_state *dce_cal } for (i=0; iin.sids->num_sids; i++) { - const char *memberdn; - - memberdn = samdb_search_string(d_state->sam_ctx, mem_ctx, NULL, - "distinguishedName", - "(objectSid=%s)", - ldap_encode_ndr_dom_sid(mem_ctx, - r->in.sids->sids[i].sid)); - if (memberdn == NULL) { - continue; - } + dom_sid_string_buf(r->in.sids->sids[i].sid, + membersidstr, sizeof(membersidstr)); - filter = talloc_asprintf(mem_ctx, "%s(member=%s)", filter, - memberdn); + filter = talloc_asprintf(mem_ctx, "%s(member=)", + filter, membersidstr); if (filter == NULL) { return NT_STATUS_NO_MEMORY; } -- 2.7.1