diff options
Diffstat (limited to 'source3/smbd/nttrans.c')
-rw-r--r-- | source3/smbd/nttrans.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index 9497c5875c..49a99a020f 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -688,6 +688,10 @@ int reply_ntcreate_and_X(connection_struct *conn, restore_case_semantics(conn, file_attributes); if(!NT_STATUS_IS_OK(status)) { + if (!use_nt_status() && NT_STATUS_EQUAL( + status, NT_STATUS_OBJECT_NAME_COLLISION)) { + status = NT_STATUS_DOS(ERRDOS, ERRfilexists); + } END_PROFILE(SMBntcreateX); return ERROR_NT(status); } @@ -760,6 +764,10 @@ int reply_ntcreate_and_X(connection_struct *conn, if(!NT_STATUS_IS_OK(status)) { restore_case_semantics(conn, file_attributes); + if (!use_nt_status() && NT_STATUS_EQUAL( + status, NT_STATUS_OBJECT_NAME_COLLISION)) { + status = NT_STATUS_DOS(ERRDOS, ERRfilexists); + } END_PROFILE(SMBntcreateX); return ERROR_NT(status); } |