r6484: fix NTLMSSP client against w2k and w2k3
authorStefan Metzmacher <metze@samba.org>
Tue, 26 Apr 2005 07:21:34 +0000 (07:21 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:16:19 +0000 (13:16 -0500)
if we use lm_response = data_blob(NULL, 0);

we got NT_STATUS_INVALID_PARAMETER

(abartlet: we should maybe also give this error in our server code)

metze

source/auth/ntlmssp/ntlmssp_client.c

index e249fb66f4233c6103a31a2620f3b99c5f05272b..df5cbab52489bd3fe882f01c6b76e05406285aa0 100644 (file)
@@ -177,6 +177,7 @@ NTSTATUS ntlmssp_client_challenge(struct gensec_security *gensec_security,
        password = cli_credentials_get_password(gensec_security->credentials);
 
        if (!password) {
+               static const uint8_t zero[1];
                static const uint8_t zeros[16];
                /* do nothing - blobs are zero length */
 
@@ -184,6 +185,9 @@ NTSTATUS ntlmssp_client_challenge(struct gensec_security *gensec_security,
                session_key = data_blob_talloc(gensec_ntlmssp_state, zeros, 16);
                lm_session_key = data_blob_talloc(gensec_ntlmssp_state, zeros, 16);
 
+               lm_response = data_blob_talloc(gensec_ntlmssp_state, zero, 1);
+               nt_response = data_blob(NULL, 0);
+               
                /* not doing NLTM2 without a password */
                gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_NTLM2;
        } else if (gensec_ntlmssp_state->use_ntlmv2) {