flags = IVAL(req->vwv+3, 1);
access_mask = IVAL(req->vwv+7, 1);
file_attributes = IVAL(req->vwv+13, 1);
- /*
- * Bug #6898 - clients using Windows opens should
- * never be able to set this attribute.
- */
- file_attributes &= ~FILE_FLAG_POSIX_SEMANTICS;
share_access = IVAL(req->vwv+15, 1);
create_disposition = IVAL(req->vwv+17, 1);
create_options = IVAL(req->vwv+19, 1);
conn,
req->flags2 & FLAGS2_DFS_PATHNAMES,
fname,
- 0,
+ (file_attributes & FILE_FLAG_POSIX_SEMANTICS) ?
+ UCF_POSIX_PATHNAMES : 0,
NULL,
&smb_fname);
goto out;
}
+ /*
+ * Bug #6898 - clients using Windows opens should
+ * never be able to set this attribute into the
+ * VFS.
+ */
+ file_attributes &= ~FILE_FLAG_POSIX_SEMANTICS;
+
status = SMB_VFS_CREATE_FILE(
conn, /* conn */
req, /* req */
flags = IVAL(params,0);
access_mask = IVAL(params,8);
file_attributes = IVAL(params,20);
- /*
- * Bug #6898 - clients using Windows opens should
- * never be able to set this attribute.
- */
- file_attributes &= ~FILE_FLAG_POSIX_SEMANTICS;
share_access = IVAL(params,24);
create_disposition = IVAL(params,28);
create_options = IVAL(params,32);
conn,
req->flags2 & FLAGS2_DFS_PATHNAMES,
fname,
- 0,
+ (file_attributes & FILE_FLAG_POSIX_SEMANTICS) ?
+ UCF_POSIX_PATHNAMES : 0,
NULL,
&smb_fname);
? BATCH_OPLOCK : 0;
}
+ /*
+ * Bug #6898 - clients using Windows opens should
+ * never be able to set this attribute into the
+ * VFS.
+ */
+ file_attributes &= ~FILE_FLAG_POSIX_SEMANTICS;
+
status = SMB_VFS_CREATE_FILE(
conn, /* conn */
req, /* req */