Changeset 221 for branches/samba-3.3.x/source/smbd/reply.c
- Timestamp:
- May 24, 2009, 7:17:10 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.3.x/source/smbd/reply.c
r206 r221 5615 5615 } 5616 5616 } else { 5617 if (SMB_VFS_STAT(conn,fsp->fsp_name,&sbuf) == -1) { 5617 int ret = -1; 5618 if (fsp->posix_open) { 5619 ret = SMB_VFS_LSTAT(conn,fsp->fsp_name,&sbuf); 5620 } else { 5621 ret = SMB_VFS_STAT(conn,fsp->fsp_name,&sbuf); 5622 } 5623 if (ret == -1) { 5618 5624 return map_nt_error_from_unix(errno); 5619 5625 } … … 5719 5725 const char *dname; 5720 5726 long offset = 0; 5727 bool posix_pathnames = lp_posix_pathnames(); 5721 5728 5722 5729 ZERO_STRUCT(sbuf1); … … 5830 5837 5831 5838 ZERO_STRUCT(sbuf1); 5832 SMB_VFS_STAT(conn, directory, &sbuf1); 5839 if (posix_pathnames) { 5840 SMB_VFS_LSTAT(conn, directory, &sbuf1); 5841 } else { 5842 SMB_VFS_STAT(conn, directory, &sbuf1); 5843 } 5833 5844 5834 5845 status = S_ISDIR(sbuf1.st_mode) ? 5835 5846 open_directory(conn, req, directory, &sbuf1, 5836 access_mask, 5837 FILE_SHARE_READ|FILE_SHARE_WRITE, 5838 FILE_OPEN, 0, 0, NULL, 5839 &fsp) 5847 access_mask, 5848 FILE_SHARE_READ|FILE_SHARE_WRITE, 5849 FILE_OPEN, 5850 0, 5851 posix_pathnames ? FILE_FLAG_POSIX_SEMANTICS|0777 : 0, 5852 NULL, 5853 &fsp) 5840 5854 : open_file_ntcreate(conn, req, directory, &sbuf1, 5841 access_mask, 5842 FILE_SHARE_READ|FILE_SHARE_WRITE, 5843 FILE_OPEN, 0, 0, 0, NULL, 5844 &fsp); 5855 access_mask, 5856 FILE_SHARE_READ|FILE_SHARE_WRITE, 5857 FILE_OPEN, 5858 0, 5859 posix_pathnames ? FILE_FLAG_POSIX_SEMANTICS|0777 : 0, 5860 0, 5861 NULL, 5862 &fsp); 5845 5863 5846 5864 if (!NT_STATUS_IS_OK(status)) { … … 5934 5952 5935 5953 ZERO_STRUCT(sbuf1); 5936 SMB_VFS_STAT(conn, fname, &sbuf1); 5954 if (posix_pathnames) { 5955 SMB_VFS_LSTAT(conn, fname, &sbuf1); 5956 } else { 5957 SMB_VFS_STAT(conn, fname, &sbuf1); 5958 } 5937 5959 5938 5960 status = S_ISDIR(sbuf1.st_mode) ? 5939 5961 open_directory(conn, req, fname, &sbuf1, 5940 access_mask, 5941 FILE_SHARE_READ|FILE_SHARE_WRITE, 5942 FILE_OPEN, 0, 0, NULL, 5943 &fsp) 5962 access_mask, 5963 FILE_SHARE_READ|FILE_SHARE_WRITE, 5964 FILE_OPEN, 5965 0, 5966 posix_pathnames ? FILE_FLAG_POSIX_SEMANTICS|0777 : 0, 5967 NULL, 5968 &fsp) 5944 5969 : open_file_ntcreate(conn, req, fname, &sbuf1, 5945 access_mask, 5946 FILE_SHARE_READ|FILE_SHARE_WRITE, 5947 FILE_OPEN, 0, 0, 0, NULL, 5948 &fsp); 5970 access_mask, 5971 FILE_SHARE_READ|FILE_SHARE_WRITE, 5972 FILE_OPEN, 5973 0, 5974 posix_pathnames ? FILE_FLAG_POSIX_SEMANTICS|0777 : 0, 5975 0, 5976 NULL, 5977 &fsp); 5949 5978 5950 5979 if (!NT_STATUS_IS_OK(status)) { … … 7124 7153 } 7125 7154 } else { 7126 if (SMB_VFS_STAT(conn, fsp->fsp_name, &sbuf) == -1) { 7155 int ret = -1; 7156 7157 if (fsp->posix_open) { 7158 ret = SMB_VFS_LSTAT(conn, fsp->fsp_name, &sbuf); 7159 } else { 7160 ret = SMB_VFS_STAT(conn, fsp->fsp_name, &sbuf); 7161 } 7162 if (ret == -1) { 7127 7163 status = map_nt_error_from_unix(errno); 7128 7164 reply_nterror(req, status);
Note:
See TracChangeset
for help on using the changeset viewer.