secur32: Also recognize samba4 failure message if ntlm_auth could not connect to winbindd.

Dmitry Timoshkov dmitry at baikal.ru
Sat Apr 12 01:24:20 CDT 2014


fdfa760c8575c0813d137f8122d0c358e44a8b8d introduced a workaround for this
kind of failure for samba3, apparently the message has changed in samba4.
---
 dlls/secur32/ntlm.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/dlls/secur32/ntlm.c b/dlls/secur32/ntlm.c
index fdd88c0..5914fbc 100644
--- a/dlls/secur32/ntlm.c
+++ b/dlls/secur32/ntlm.c
@@ -1226,11 +1226,13 @@ SECURITY_STATUS SEC_ENTRY ntlm_AcceptSecurityContext(
             }
             else
             {
-                size_t ntlm_pipe_err_len = strlen("BH NT_STATUS_ACCESS_DENIED");
+                size_t ntlm_pipe_err_v3_len = strlen("BH NT_STATUS_ACCESS_DENIED");
+                size_t ntlm_pipe_err_v4_len = strlen("BH NT_STATUS_UNSUCCESSFUL");
 
-                if( (buffer_len >= ntlm_pipe_err_len) &&
-                    (strncmp(buffer, "BH NT_STATUS_ACCESS_DENIED",
-                             ntlm_pipe_err_len) == 0))
+                if( (buffer_len >= ntlm_pipe_err_v3_len &&
+                     strncmp(buffer, "BH NT_STATUS_ACCESS_DENIED", ntlm_pipe_err_v3_len) == 0) ||
+                    (buffer_len >= ntlm_pipe_err_v4_len &&
+                     strncmp(buffer, "BH NT_STATUS_UNSUCCESSFUL", ntlm_pipe_err_v4_len) == 0) )
                 {
                     TRACE("Connection to winbindd failed\n");
                     ret = SEC_E_LOGON_DENIED;
-- 
1.9.2




More information about the wine-patches mailing list