From 4080ff7af5eec946a01c52f8d9ba01f1ef81fe71 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 30 Aug 2010 14:17:02 +1000 Subject: s3-privs Make privilege_enum_sids() take an LUID, not a bitmap This moves one more privileges call away from direct bitmap manipuation. Andrew Bartlett Signed-off-by: Andrew Tridgell --- source3/rpc_server/srv_lsa_nt.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'source3/rpc_server') diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c index 04e8d1970c..896ca66c6d 100644 --- a/source3/rpc_server/srv_lsa_nt.c +++ b/source3/rpc_server/srv_lsa_nt.c @@ -2440,7 +2440,7 @@ NTSTATUS _lsa_EnumAccountsWithUserRight(struct pipes_struct *p, struct dom_sid *sids = NULL; int num_sids = 0; uint32_t i; - uint64_t mask; + enum sec_privilege privilege; if (!find_policy_by_hnd(p, r->in.handle, (void **)(void *)&info)) { return NT_STATUS_INVALID_HANDLE; @@ -2458,11 +2458,12 @@ NTSTATUS _lsa_EnumAccountsWithUserRight(struct pipes_struct *p, return NT_STATUS_NO_SUCH_PRIVILEGE; } - if (!se_priv_from_name(r->in.name->string, &mask)) { + privilege = sec_privilege_id(r->in.name->string); + if (privilege == SEC_PRIV_INVALID) { return NT_STATUS_NO_SUCH_PRIVILEGE; } - status = privilege_enum_sids(&mask, p->mem_ctx, + status = privilege_enum_sids(privilege, p->mem_ctx, &sids, &num_sids); if (!NT_STATUS_IS_OK(status)) { return status; -- cgit