Fix FILE_FLAG_POSIX_SEMANTICS handling underneath SMB_VFS_CREATE_FILE
[tprouty/samba.git] / source3 / smbd / open.c
index ce4a31adccba34ef3b61817f744936d67fc33c93..ca7d85d51a79dfb017e5990a0142ef243e69521e 100644 (file)
@@ -2849,7 +2849,8 @@ static NTSTATUS create_file_unixpath(connection_struct *conn,
                }
 
                /* Can't open a temp directory. IFS kit test. */
-               if (file_attributes & FILE_ATTRIBUTE_TEMPORARY) {
+               if (!(file_attributes & FILE_FLAG_POSIX_SEMANTICS) &&
+                    (file_attributes & FILE_ATTRIBUTE_TEMPORARY)) {
                        status = NT_STATUS_INVALID_PARAMETER;
                        goto fail;
                }
@@ -3241,7 +3242,6 @@ NTSTATUS create_file_default(connection_struct *conn,
 
        if (file_attributes & FILE_FLAG_POSIX_SEMANTICS) {
                case_state = set_posix_case_semantics(talloc_tos(), conn);
-               file_attributes &= ~FILE_FLAG_POSIX_SEMANTICS;
        }
 
        if (is_dos_path) {