diff options
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 43 |
1 files changed, 5 insertions, 38 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 1b0785285d..a2ea35b115 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -1556,18 +1556,7 @@ void reply_open(connection_struct *conn, struct smb_request *req) /* We have re-scheduled this call. */ return; } - if (NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_COLLISION)) { - /* - * We hit an existing file, and if we're returning DOS - * error codes OBJECT_NAME_COLLISION would map to - * ERRDOS/183, we need to return ERRDOS/80, see bug - * 4852. - */ - reply_botherror(req, NT_STATUS_OBJECT_NAME_COLLISION, - ERRDOS, ERRfilexists); - return; - } - reply_nterror(req, status); + reply_openerror(req, status); return; } @@ -1723,25 +1712,14 @@ void reply_open_and_X(connection_struct *conn, struct smb_request *req) smb_attr, oplock_request, &smb_action, &fsp); - + if (!NT_STATUS_IS_OK(status)) { END_PROFILE(SMBopenX); if (open_was_deferred(req->mid)) { /* We have re-scheduled this call. */ return; } - if (NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_COLLISION)) { - /* - * We hit an existing file, and if we're returning DOS - * error codes OBJECT_NAME_COLLISION would map to - * ERRDOS/183, we need to return ERRDOS/80, see bug - * 4852. - */ - reply_botherror(req, NT_STATUS_OBJECT_NAME_COLLISION, - ERRDOS, ERRfilexists); - return; - } - reply_nterror(req, status); + reply_openerror(req, status); return; } @@ -2087,18 +2065,7 @@ void reply_ctemp(connection_struct *conn, struct smb_request *req) /* We have re-scheduled this call. */ return; } - if (NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_COLLISION)) { - /* - * We hit an existing file, and if we're returning DOS - * error codes OBJECT_NAME_COLLISION would map to - * ERRDOS/183, we need to return ERRDOS/80, see bug - * 4852. - */ - reply_botherror(req, NT_STATUS_OBJECT_NAME_COLLISION, - ERRDOS, ERRfilexists); - return; - } - reply_nterror(req, status); + reply_openerror(req, status); return; } @@ -4678,7 +4645,7 @@ void reply_mkdir(connection_struct *conn, struct smb_request *req) END_PROFILE(SMBmkdir); return; } - + status = create_directory(conn, directory); DEBUG(5, ("create_directory returned %s\n", nt_errstr(status))); |