1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-26 21:57:41 +03:00

Revert "smbd: avoid explicit change_to_user() in defer_rename_done() already done by impersonation"

This reverts commit e37e41b3cac52e3623f0c79f83733a51edb35c10.

See the discussion in

https://lists.samba.org/archive/samba-technical/2018-December/131731.html

for the reasoning behind this revert.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
Ralph Boehme 2018-12-27 11:37:16 +01:00 committed by Stefan Metzmacher
parent 3747dcb41f
commit ac17919ae3

View File

@ -284,6 +284,7 @@ static void defer_rename_done(struct tevent_req *subreq)
NTSTATUS status;
struct share_mode_lock *lck;
int ret_size = 0;
bool ok;
status = dbwrap_watched_watch_recv(subreq, NULL, NULL);
TALLOC_FREE(subreq);
@ -294,6 +295,16 @@ static void defer_rename_done(struct tevent_req *subreq)
return;
}
/*
* Make sure we run as the user again
*/
ok = change_to_user(state->smb2req->tcon->compat,
state->smb2req->session->compat->vuid);
if (!ok) {
tevent_req_nterror(state->req, NT_STATUS_ACCESS_DENIED);
return;
}
/* Do we still need to wait ? */
lck = get_existing_share_mode_lock(state->req, state->fsp->file_id);
if (lck == NULL) {