1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-03 12:58:35 +03:00

smbd: add [un]become_guest() helper functions

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
Stefan Metzmacher 2018-05-25 16:22:33 +02:00
parent 710ce1c39a
commit 7b5a47b846
2 changed files with 30 additions and 0 deletions

View File

@ -1203,6 +1203,8 @@ void become_root(void);
void unbecome_root(void);
void smbd_become_root(void);
void smbd_unbecome_root(void);
bool become_guest(void);
void unbecome_guest(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,

View File

@ -598,6 +598,34 @@ void smbd_unbecome_root(void)
pop_conn_ctx();
}
bool become_guest(void)
{
bool ok;
ok = push_sec_ctx();
if (!ok) {
return false;
}
push_conn_ctx();
ok = change_to_guest();
if (!ok) {
pop_sec_ctx();
pop_conn_ctx();
return false;
}
return true;
}
void unbecome_guest(void)
{
pop_sec_ctx();
pop_conn_ctx();
return;
}
/****************************************************************************
Push the current security context then force a change via change_to_user().
Saves and restores the connection context.