From eb6312af9fcf91b7709af50b499bc3b01eddeee5 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 15 Jan 2003 07:40:40 +0000 Subject: added cli_lsa_enum_account_rights() call. Note that this is in principal similar to the existing cli_lsa_enum_privsaccount() call, except that cli_lsa_enum_account_rights() doesn't require a call to open_account first. There is also the minor matter that cli_lsa_enum_account_rights() works whereas cli_lsa_enum_privsaccount() doesn't! this call can be used to find what privileges an account or group has. This is a first step towards proper privileges support in Samba. (This used to be commit 65bac11d716f873dcdbda528313c33634c26a072) --- source3/include/rpc_lsa.h | 17 +++++++++++++++++ source3/include/rpc_misc.h | 16 ++++++++++++++++ 2 files changed, 33 insertions(+) (limited to 'source3/include') diff --git a/source3/include/rpc_lsa.h b/source3/include/rpc_lsa.h index 39f3e47dc8..a220b3f70d 100644 --- a/source3/include/rpc_lsa.h +++ b/source3/include/rpc_lsa.h @@ -515,6 +515,23 @@ typedef struct lsa_r_enum_privs NTSTATUS status; } LSA_R_ENUM_PRIVS; +/* LSA_Q_ENUM_ACCOUNTS - LSA enum account rights */ +typedef struct lsa_q_enum_acct_rights +{ + POLICY_HND pol; /* policy handle */ + uint32 count; /* what is this for in the query? */ + DOM_SID sid; +} LSA_Q_ENUM_ACCT_RIGHTS; + +/* LSA_R_ENUM_ACCOUNTS - LSA enum account rights */ +typedef struct lsa_r_enum_acct_rights +{ + uint32 count; + UNISTR_ARRAY rights; + NTSTATUS status; +} LSA_R_ENUM_ACCT_RIGHTS; + + /* LSA_Q_PRIV_GET_DISPNAME - LSA get privilege display name */ typedef struct lsa_q_priv_get_dispname { diff --git a/source3/include/rpc_misc.h b/source3/include/rpc_misc.h index e47853c2a2..1b956826eb 100644 --- a/source3/include/rpc_misc.h +++ b/source3/include/rpc_misc.h @@ -210,6 +210,22 @@ typedef struct unistr3_info } UNISTR3; +/* an element in a unicode string array */ +typedef struct +{ + uint16 length; + uint16 size; + uint32 ref_id; + UNISTR2 string; +} UNISTR_ARRAY_EL; + +/* an array of unicode strings */ +typedef struct +{ + uint32 ref_id; + uint32 count; + UNISTR_ARRAY_EL *strings; +} UNISTR_ARRAY; /* DOM_RID2 - domain RID structure for ntlsa pipe */ typedef struct domrid2_info -- cgit