mirror of
https://github.com/samba-team/samba.git
synced 2025-08-26 01:49:31 +03:00
rpc: Add global_sid_Samba_NPA_Flags SID
This will be used as a flexible way to pass per-RPC-connection flags over ncalrpc to the RPC server without having to modify named_pipe_auth_req_info6 every time something new needs to be passed. It's modeled after global_sid_Samba_SMB3. Bug: https://bugzilla.samba.org/show_bug.cgi?id=15361 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
@ -66,6 +66,9 @@ extern const struct dom_sid global_sid_Unix_NFS_Mode;
|
||||
extern const struct dom_sid global_sid_Unix_NFS_Other;
|
||||
extern const struct dom_sid global_sid_Samba_SMB3;
|
||||
|
||||
extern const struct dom_sid global_sid_Samba_NPA_Flags;
|
||||
#define SAMBA_NPA_FLAGS_NEED_IDLE 1
|
||||
|
||||
struct auth_SidAttr;
|
||||
enum lsa_SidType;
|
||||
|
||||
|
@ -165,6 +165,13 @@ const struct dom_sid global_sid_Unix_NFS_Other = /* Unix other, MS NFS and Appl
|
||||
const struct dom_sid global_sid_Samba_SMB3 =
|
||||
{1, 1, {0,0,0,0,0,22}, {1397571891, }};
|
||||
|
||||
const struct dom_sid global_sid_Samba_NPA_Flags = {1,
|
||||
1,
|
||||
{0, 0, 0, 0, 0, 22},
|
||||
{
|
||||
2041152804,
|
||||
}};
|
||||
|
||||
/* Unused, left here for documentary purposes */
|
||||
#if 0
|
||||
#define SECURITY_NULL_SID_AUTHORITY 0
|
||||
|
@ -437,6 +437,8 @@ NTSTATUS sid_array_from_info3(TALLOC_CTX *mem_ctx,
|
||||
struct dom_sid **user_sids,
|
||||
uint32_t *num_user_sids,
|
||||
bool include_user_group_rid);
|
||||
bool security_token_find_npa_flags(const struct security_token *token,
|
||||
uint32_t *_flags);
|
||||
|
||||
/* The following definitions come from lib/util_sock.c */
|
||||
|
||||
|
@ -170,3 +170,22 @@ NTSTATUS sid_array_from_info3(TALLOC_CTX *mem_ctx,
|
||||
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
bool security_token_find_npa_flags(const struct security_token *token,
|
||||
uint32_t *_flags)
|
||||
{
|
||||
const struct dom_sid *npa_flags_sid = NULL;
|
||||
size_t num_npa_sids;
|
||||
|
||||
num_npa_sids =
|
||||
security_token_count_flag_sids(token,
|
||||
&global_sid_Samba_NPA_Flags,
|
||||
1,
|
||||
&npa_flags_sid);
|
||||
if (num_npa_sids != 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
sid_peek_rid(npa_flags_sid, _flags);
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user