From: Jeremy Allison Date: Wed, 29 Apr 2020 22:32:21 +0000 (-0700) Subject: s3: smbd: Add dirfsp parameter to check_access(). X-Git-Tag: ldb-2.2.0~792 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d3be759aeeaa9885a0f3eca0f1800ee0f4f6c56a;p=thirdparty%2Fsamba.git s3: smbd: Add dirfsp parameter to check_access(). Not yet used. Signed-off-by: Jeremy Allison Reviewed-by: Ralph Boehme Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Thu Apr 30 09:11:56 UTC 2020 on sn-devel-184 --- diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 07cbc838889..7d1fe8ba05c 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -196,9 +196,11 @@ done: ********************************************************************/ static NTSTATUS check_access(connection_struct *conn, + struct files_struct *dirfsp, const struct smb_filename *smb_fname, uint32_t access_mask) { + SMB_ASSERT(dirfsp == dirfsp->conn->cwd_fsp); return smbd_check_access_rights(conn, smb_fname, false, @@ -817,6 +819,7 @@ NTSTATUS set_ea(connection_struct *conn, files_struct *fsp, status = check_access_fsp(fsp, FILE_WRITE_EA); } else { status = check_access(conn, + conn->cwd_fsp, smb_fname, FILE_WRITE_EA); } @@ -7836,6 +7839,7 @@ static NTSTATUS smb_set_file_basic_info(connection_struct *conn, status = check_access_fsp(fsp, FILE_WRITE_ATTRIBUTES); } else { status = check_access(conn, + conn->cwd_fsp, smb_fname, FILE_WRITE_ATTRIBUTES); } @@ -7909,6 +7913,7 @@ static NTSTATUS smb_set_info_standard(connection_struct *conn, status = check_access_fsp(fsp, FILE_WRITE_ATTRIBUTES); } else { status = check_access(conn, + conn->cwd_fsp, smb_fname, FILE_WRITE_ATTRIBUTES); }