smb2_sesssetup: avoid STATUS_PENDING responses for session setup
authorStefan Metzmacher <metze@samba.org>
Thu, 24 Jan 2019 08:10:11 +0000 (09:10 +0100)
committerJeremy Allison <jra@samba.org>
Thu, 28 Mar 2019 23:09:34 +0000 (23:09 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12845
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13698
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13796

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/smbd/smb2_sesssetup.c

index d34951a4eef32a563294ca22ac977b790ca40fdd..e3d58d312e4b9ccd86846de5368e1118118110a8 100644 (file)
@@ -107,7 +107,16 @@ NTSTATUS smbd_smb2_request_process_sesssetup(struct smbd_smb2_request *smb2req)
        }
        tevent_req_set_callback(subreq, smbd_smb2_request_sesssetup_done, smb2req);
 
-       return smbd_smb2_request_pending_queue(smb2req, subreq, 500);
+       /*
+        * Avoid sending a STATUS_PENDING message, which
+        * matches a Windows Server and avoids problems with
+        * MacOS clients.
+        *
+        * Even after 90 seconds a Windows Server doesn't return
+        * STATUS_PENDING if using NTLMSSP against a non reachable
+        * trusted domain.
+        */
+       return smbd_smb2_request_pending_queue(smb2req, subreq, 0);
 }
 
 static void smbd_smb2_request_sesssetup_done(struct tevent_req *subreq)