goto error_exit;
}
- nt_status = vfs_file_exist(conn, smb_fname);
- if (!NT_STATUS_IS_OK(nt_status)) {
- DEBUG(3,("get_correct_cversion: vfs_file_exist failed\n"));
- *perr = WERR_FILE_NOT_FOUND;
- goto error_exit;
- }
-
nt_status = SMB_VFS_CREATE_FILE(
conn, /* conn */
NULL, /* req */
FILE_GENERIC_READ, /* access_mask */
FILE_SHARE_READ | FILE_SHARE_WRITE, /* share_access */
FILE_OPEN, /* create_disposition*/
- 0, /* create_options */
+ FILE_NON_DIRECTORY_FILE, /* create_options */
FILE_ATTRIBUTE_NORMAL, /* file_attributes */
INTERNAL_OPEN_ONLY, /* oplock_request */
NULL, /* lease */
bool vfs_init_custom(connection_struct *conn, const char *vfs_object);
bool smbd_vfs_init(connection_struct *conn);
-NTSTATUS vfs_file_exist(connection_struct *conn, struct smb_filename *smb_fname);
bool vfs_valid_pread_range(off_t offset, size_t length);
bool vfs_valid_pwrite_range(const struct files_struct *fsp,
off_t offset,
return NT_STATUS_NO_MEMORY;
}
- status = vfs_file_exist(conn, smb_fname_src);
- if (!NT_STATUS_IS_OK(status)) {
- goto out;
- }
-
status = openat_pathref_fsp(conn->cwd_fsp, smb_fname_src);
if (!NT_STATUS_IS_OK(status)) {
goto out;
FILE_GENERIC_READ, /* access_mask */
FILE_SHARE_READ | FILE_SHARE_WRITE, /* share_access */
FILE_OPEN, /* create_disposition*/
- 0, /* create_options */
+ FILE_NON_DIRECTORY_FILE, /* create_options */
FILE_ATTRIBUTE_NORMAL, /* file_attributes */
INTERNAL_OPEN_ONLY, /* oplock_request */
NULL, /* lease */
return True;
}
-/*******************************************************************
- Check if a file exists in the vfs.
-********************************************************************/
-
-NTSTATUS vfs_file_exist(connection_struct *conn, struct smb_filename *smb_fname)
-{
- /* Only return OK if stat was successful and S_ISREG */
- if ((SMB_VFS_STAT(conn, smb_fname) != -1) &&
- S_ISREG(smb_fname->st.st_ex_mode)) {
- return NT_STATUS_OK;
- }
-
- return NT_STATUS_OBJECT_NAME_NOT_FOUND;
-}
-
bool vfs_valid_pread_range(off_t offset, size_t length)
{
return sys_valid_io_range(offset, length);