Prepares for removing the dirfsp arg from SMB_VFS_CREATE_FILE() again. In the
future open_directory() will open the dirfsp itself.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
static NTSTATUS open_directory(connection_struct *conn,
struct smb_request *req,
static NTSTATUS open_directory(connection_struct *conn,
struct smb_request *req,
- struct files_struct **dirfsp,
uint32_t access_mask,
uint32_t share_access,
uint32_t create_disposition,
uint32_t access_mask,
uint32_t share_access,
uint32_t create_disposition,
- SMB_ASSERT(*dirfsp == conn->cwd_fsp);
-
if (is_ntfs_stream_smb_fname(smb_dname)) {
DEBUG(2, ("open_directory: %s is a stream name!\n",
smb_fname_str_dbg(smb_dname)));
if (is_ntfs_stream_smb_fname(smb_dname)) {
DEBUG(2, ("open_directory: %s is a stream name!\n",
smb_fname_str_dbg(smb_dname)));
file_attributes);
status = smbd_calculate_access_mask(conn,
file_attributes);
status = smbd_calculate_access_mask(conn,
smb_dname,
false,
access_mask,
smb_dname,
false,
access_mask,
if (info == FILE_WAS_OPENED) {
status = smbd_check_access_rights(conn,
if (info == FILE_WAS_OPENED) {
status = smbd_check_access_rights(conn,
smb_dname,
false,
access_mask);
smb_dname,
false,
access_mask);
oplock_request = 0;
status = open_directory(conn,
req,
oplock_request = 0;
status = open_directory(conn,
req,
access_mask,
share_access,
create_disposition,
access_mask,
share_access,
create_disposition,
oplock_request = 0;
status = open_directory(conn,
req,
oplock_request = 0;
status = open_directory(conn,
req,
access_mask,
share_access,
create_disposition,
access_mask,
share_access,
create_disposition,