diff options
-rw-r--r-- | source4/rpc_server/lsa/dcesrv_lsa.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c index ca6fe36786..a0770764f5 100644 --- a/source4/rpc_server/lsa/dcesrv_lsa.c +++ b/source4/rpc_server/lsa/dcesrv_lsa.c @@ -478,7 +478,7 @@ static NTSTATUS lsa_EnumAccounts(struct dcesrv_call_state *dce_call, TALLOC_CTX state = h->data; ret = gendb_search(state->sam_ldb, mem_ctx, state->builtin_dn, &res, attrs, - "privilege=*"); + "(|(privilege=*)(objectSid=*))"); if (ret <= 0) { return NT_STATUS_NO_SUCH_USER; } @@ -2525,6 +2525,11 @@ static NTSTATUS lsa_LookupNames4(struct dcesrv_call_state *dce_call, int i; NTSTATUS status = NT_STATUS_OK; + status = lsa_get_policy_state(dce_call, mem_ctx, &state); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + r->out.domains = NULL; r->out.domains = talloc_zero(mem_ctx, struct lsa_RefDomainList); @@ -2602,6 +2607,9 @@ static NTSTATUS lsa_LookupNames3(struct dcesrv_call_state *dce_call, TALLOC_CTX r2.in.count = r->in.count; r2.in.unknown1 = r->in.unknown1; r2.in.unknown2 = r->in.unknown2; + r2.out.domains = r->out.domains; + r2.out.sids = r->out.sids; + r2.out.count = r->out.count; status = lsa_LookupNames4(dce_call, mem_ctx, &r2); if (dce_call->fault_code != 0) { |