uint64_t *out_end_of_file,
uint32_t *out_file_attributes)
{
+ NTSTATUS status;
int ret;
+
+ status = openat_pathref_fsp(conn->cwd_fsp, smb_fname);
+ if (NT_STATUS_EQUAL(status, NT_STATUS_STOPPED_ON_SYMLINK)) {
+ status = NT_STATUS_OK;
+ }
+ if (!NT_STATUS_IS_OK(status)) {
+ return;
+ }
+
if (posix_open) {
ret = SMB_VFS_LSTAT(conn, smb_fname);
} else {
}
*out_flags = SMB2_CLOSE_FLAGS_FULL_INFORMATION;
- *out_file_attributes = dos_mode(conn, smb_fname);
+ *out_file_attributes = fdos_mode(smb_fname->fsp);
*out_last_write_ts = smb_fname->st.st_ex_mtime;
*out_last_access_ts = smb_fname->st.st_ex_atime;
*out_creation_ts = get_create_timespec(conn, NULL, smb_fname);