mirror of
https://github.com/samba-team/samba.git
synced 2025-01-07 17:18:11 +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>
(cherry picked from commit ebbb93cc7a
)
This commit is contained in:
parent
40378826af
commit
5a09eaf01a
@ -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
|
||||
|
||||
enum lsa_SidType;
|
||||
|
||||
NTSTATUS dom_sid_lookup_predefined_name(const char *name,
|
||||
|
@ -162,6 +162,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 */
|
||||
|
||||
|
@ -173,3 +173,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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user