s3-lsa: in _lsa_QuerySecurity() query the sd from the lsa policy handle.
authorGünther Deschner <gd@samba.org>
Thu, 29 Oct 2009 23:05:32 +0000 (00:05 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 17 Feb 2011 15:02:20 +0000 (16:02 +0100)
Guenther

source3/rpc_server/lsa/srv_lsa_nt.c

index 4b4a27c2a87e5c5064b34ad61ee67406da41f57b..680d7b3522d612b1c4ad1a4f9768029356334a8b 100644 (file)
@@ -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;