mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
smbd: add {become,change_to}_user_by_fsp() helper functions
This can be used if a request operates on two fsp's, e.g. the offload_write_send/recv code. This is important if (at least) one of the shares uses "force user". Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
parent
4512b91897
commit
e4fb4c1d0e
@ -1196,6 +1196,7 @@ NTSTATUS check_user_share_access(connection_struct *conn,
|
||||
uint32_t *p_share_access,
|
||||
bool *p_readonly_share);
|
||||
bool change_to_user(connection_struct *conn, uint64_t vuid);
|
||||
bool change_to_user_by_fsp(struct files_struct *fsp);
|
||||
bool smbd_change_to_root_user(void);
|
||||
bool smbd_become_authenticated_pipe_user(struct auth_session_info *session_info);
|
||||
bool smbd_unbecome_authenticated_pipe_user(void);
|
||||
@ -1204,6 +1205,7 @@ void unbecome_root(void);
|
||||
void smbd_become_root(void);
|
||||
void smbd_unbecome_root(void);
|
||||
bool become_user(connection_struct *conn, uint64_t vuid);
|
||||
bool become_user_by_fsp(struct files_struct *fsp);
|
||||
bool become_user_by_session(connection_struct *conn,
|
||||
const struct auth_session_info *session_info);
|
||||
bool unbecome_user(void);
|
||||
|
@ -418,6 +418,11 @@ bool change_to_user(connection_struct *conn, uint64_t vuid)
|
||||
return change_to_user_internal(conn, vuser->session_info, vuid);
|
||||
}
|
||||
|
||||
bool change_to_user_by_fsp(struct files_struct *fsp)
|
||||
{
|
||||
return change_to_user(fsp->conn, fsp->vuid);
|
||||
}
|
||||
|
||||
static bool change_to_user_by_session(connection_struct *conn,
|
||||
const struct auth_session_info *session_info)
|
||||
{
|
||||
@ -604,6 +609,11 @@ bool become_user(connection_struct *conn, uint64_t vuid)
|
||||
return True;
|
||||
}
|
||||
|
||||
bool become_user_by_fsp(struct files_struct *fsp)
|
||||
{
|
||||
return become_user(fsp->conn, fsp->vuid);
|
||||
}
|
||||
|
||||
bool become_user_by_session(connection_struct *conn,
|
||||
const struct auth_session_info *session_info)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user