From fa43de063ae40850800ebc839e30700ce65dceee Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Fri, 30 Oct 2009 00:05:32 +0100 Subject: s3-lsa: in _lsa_QuerySecurity() query the sd from the lsa policy handle. Guenther --- source3/rpc_server/lsa/srv_lsa_nt.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'source3') diff --git a/source3/rpc_server/lsa/srv_lsa_nt.c b/source3/rpc_server/lsa/srv_lsa_nt.c index 4b4a27c2a8..680d7b3522 100644 --- a/source3/rpc_server/lsa/srv_lsa_nt.c +++ b/source3/rpc_server/lsa/srv_lsa_nt.c @@ -40,6 +40,7 @@ #include "../librpc/gen_ndr/ndr_drsblobs.h" #include "../lib/crypto/arcfour.h" #include "../libcli/security/dom_sid.h" +#include "../librpc/gen_ndr/ndr_security.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_RPC_SRV @@ -2835,13 +2836,10 @@ NTSTATUS _lsa_QuerySecurity(struct pipes_struct *p, switch (handle->type) { case LSA_HANDLE_POLICY_TYPE: - status = make_lsa_object_sd(p->mem_ctx, &psd, &sd_size, - &lsa_policy_mapping, NULL, 0); - break; case LSA_HANDLE_ACCOUNT_TYPE: - status = make_lsa_object_sd(p->mem_ctx, &psd, &sd_size, - &lsa_account_mapping, - &handle->sid, LSA_ACCOUNT_ALL_ACCESS); + psd = handle->sd; + sd_size = ndr_size_security_descriptor(psd, 0); + status = NT_STATUS_OK; break; default: status = NT_STATUS_INVALID_HANDLE; -- cgit