diff options
-rw-r--r-- | source3/smbd/blocking.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/smbd/blocking.c b/source3/smbd/blocking.c index 024e5b9f66..bc8c54caf7 100644 --- a/source3/smbd/blocking.c +++ b/source3/smbd/blocking.c @@ -175,6 +175,12 @@ static void generic_blocking_lock_error(blocking_lock_record *blr, NTSTATUS stat char *inbuf = blr->inbuf; construct_reply_common(inbuf, outbuf); + /* whenever a timeout is given w2k maps LOCK_NOT_GRANTED to + FILE_LOCK_CONFLICT! (tridge) */ + if (NT_STATUS_EQUAL(status, NT_STATUS_LOCK_NOT_GRANTED)) { + status = NT_STATUS_FILE_LOCK_CONFLICT; + } + ERROR_NT(status); if (!send_smb(smbd_server_fd(),outbuf)) exit_server("generic_blocking_lock_error: send_smb failed."); |