summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2018-06-13 13:30:33 +0200
committerStefan Metzmacher <metze@samba.org>2018-06-18 08:59:17 +0200
commitd1c8057997f97c6cd537496611dfae4e8b4af520 (patch)
tree95bdeddd9a478ac9609460fe284720abd42e1a7e /source3/include
parentb27d885478245d8bd56ab4f5459908b6c574d15d (diff)
downloadsamba-d1c8057997f97c6cd537496611dfae4e8b4af520.tar.gz
smbd: call chdir_current_service() in change_to_user_internal() and pop_conn_ctx()
change_to_user() should be the one and only function for the whole impersonation processing. So we also need to stack the chdir_current_service() behaviour for become_user/unbecome_user, so we may need to call vfs_ChDir(ctx_p->conn, ctx_p->conn->cwd_fname); in pop_conn_ctx(). Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/smb.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 5e83ee90afe..9ec65430852 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -156,6 +156,8 @@ struct sys_notify_context {
struct current_user {
struct connection_struct *conn;
uint64_t vuid; /* SMB2 compat */
+ bool need_chdir;
+ bool done_chdir;
struct security_unix_token ut;
struct security_token *nt_user_token;
};