gensec_ntlmssp_state 131 source4/auth/ntlmssp/ntlmssp.c struct gensec_security *gensec_security = gensec_ntlmssp_state->gensec_security; gensec_ntlmssp_state 135 source4/auth/ntlmssp/ntlmssp.c if (gensec_ntlmssp_state->expected_state == NTLMSSP_DONE) { gensec_ntlmssp_state 145 source4/auth/ntlmssp/ntlmssp.c switch (gensec_ntlmssp_state->role) { gensec_ntlmssp_state 161 source4/auth/ntlmssp/ntlmssp.c if (!msrpc_parse(gensec_ntlmssp_state, gensec_ntlmssp_state 171 source4/auth/ntlmssp/ntlmssp.c if (ntlmssp_command != gensec_ntlmssp_state->expected_state) { gensec_ntlmssp_state 172 source4/auth/ntlmssp/ntlmssp.c DEBUG(2, ("got NTLMSSP command %u, expected %u\n", ntlmssp_command, gensec_ntlmssp_state->expected_state)); gensec_ntlmssp_state 177 source4/auth/ntlmssp/ntlmssp.c if (ntlmssp_callbacks[i].role == gensec_ntlmssp_state->role && gensec_ntlmssp_state 185 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->role, ntlmssp_command)); gensec_ntlmssp_state 205 source4/auth/ntlmssp/ntlmssp.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 214 source4/auth/ntlmssp/ntlmssp.c out_mem_ctx = gensec_ntlmssp_state; gensec_ntlmssp_state 217 source4/auth/ntlmssp/ntlmssp.c status = gensec_ntlmssp_update_find(gensec_ntlmssp_state, input, &i); gensec_ntlmssp_state 235 source4/auth/ntlmssp/ntlmssp.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 237 source4/auth/ntlmssp/ntlmssp.c if (gensec_ntlmssp_state->expected_state != NTLMSSP_DONE) { gensec_ntlmssp_state 241 source4/auth/ntlmssp/ntlmssp.c if (!gensec_ntlmssp_state->session_key.data) { gensec_ntlmssp_state 244 source4/auth/ntlmssp/ntlmssp.c *session_key = gensec_ntlmssp_state->session_key; gensec_ntlmssp_state 253 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_UNICODE; gensec_ntlmssp_state 254 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_OEM; gensec_ntlmssp_state 255 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->unicode = true; gensec_ntlmssp_state 257 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_UNICODE; gensec_ntlmssp_state 258 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_OEM; gensec_ntlmssp_state 259 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->unicode = false; gensec_ntlmssp_state 262 source4/auth/ntlmssp/ntlmssp.c if ((neg_flags & NTLMSSP_NEGOTIATE_LM_KEY) && allow_lm && !gensec_ntlmssp_state->use_ntlmv2) { gensec_ntlmssp_state 264 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_LM_KEY; gensec_ntlmssp_state 265 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_NTLM2; gensec_ntlmssp_state 267 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_LM_KEY; gensec_ntlmssp_state 271 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_ALWAYS_SIGN; gensec_ntlmssp_state 275 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_SIGN; gensec_ntlmssp_state 279 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_SEAL; gensec_ntlmssp_state 283 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_NTLM2; gensec_ntlmssp_state 287 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_128; gensec_ntlmssp_state 291 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_56; gensec_ntlmssp_state 295 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_KEY_EXCH; gensec_ntlmssp_state 301 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_UNKNOWN_02000000; gensec_ntlmssp_state 305 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_REQUEST_TARGET; gensec_ntlmssp_state 322 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->session_key.data, gensec_ntlmssp_state 323 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->session_key.length); gensec_ntlmssp_state 334 source4/auth/ntlmssp/ntlmssp.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_LM_KEY) { gensec_ntlmssp_state 338 source4/auth/ntlmssp/ntlmssp.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_56) { gensec_ntlmssp_state 354 source4/auth/ntlmssp/ntlmssp.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 356 source4/auth/ntlmssp/ntlmssp.c if (!gensec_ntlmssp_state->session_key.length) { gensec_ntlmssp_state 359 source4/auth/ntlmssp/ntlmssp.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_SIGN) { gensec_ntlmssp_state 364 source4/auth/ntlmssp/ntlmssp.c if (!gensec_ntlmssp_state->session_key.length) { gensec_ntlmssp_state 367 source4/auth/ntlmssp/ntlmssp.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_SEAL) { gensec_ntlmssp_state 372 source4/auth/ntlmssp/ntlmssp.c if (gensec_ntlmssp_state->session_key.length) { gensec_ntlmssp_state 380 source4/auth/ntlmssp/ntlmssp.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_NTLM2) { gensec_ntlmssp_state 389 source4/auth/ntlmssp/ntlmssp.c struct gensec_ntlmssp_state *gensec_ntlmssp_state; gensec_ntlmssp_state 391 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state = talloc_zero(gensec_security, struct gensec_ntlmssp_state); gensec_ntlmssp_state 392 source4/auth/ntlmssp/ntlmssp.c if (!gensec_ntlmssp_state) { gensec_ntlmssp_state 396 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->gensec_security = gensec_security; gensec_ntlmssp_state 397 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->auth_context = NULL; gensec_ntlmssp_state 398 source4/auth/ntlmssp/ntlmssp.c gensec_ntlmssp_state->server_info = NULL; gensec_ntlmssp_state 400 source4/auth/ntlmssp/ntlmssp.c gensec_security->private_data = gensec_ntlmssp_state; gensec_ntlmssp_state 119 source4/auth/ntlmssp/ntlmssp.h const uint8_t *(*get_challenge)(const struct gensec_ntlmssp_state *); gensec_ntlmssp_state 131 source4/auth/ntlmssp/ntlmssp.h bool (*may_set_challenge)(const struct gensec_ntlmssp_state *); gensec_ntlmssp_state 143 source4/auth/ntlmssp/ntlmssp.h NTSTATUS (*set_challenge)(struct gensec_ntlmssp_state *, DATA_BLOB *challenge); gensec_ntlmssp_state 154 source4/auth/ntlmssp/ntlmssp.h NTSTATUS (*check_password)(struct gensec_ntlmssp_state *, gensec_ntlmssp_state 51 source4/auth/ntlmssp/ntlmssp_client.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 52 source4/auth/ntlmssp/ntlmssp_client.c const char *domain = gensec_ntlmssp_state->domain; gensec_ntlmssp_state 64 source4/auth/ntlmssp/ntlmssp_client.c if (gensec_ntlmssp_state->unicode) { gensec_ntlmssp_state 65 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_UNICODE; gensec_ntlmssp_state 67 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_OEM; gensec_ntlmssp_state 70 source4/auth/ntlmssp/ntlmssp_client.c if (gensec_ntlmssp_state->use_ntlmv2) { gensec_ntlmssp_state 71 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2; gensec_ntlmssp_state 79 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags, gensec_ntlmssp_state 83 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->expected_state = NTLMSSP_CHALLENGE; gensec_ntlmssp_state 102 source4/auth/ntlmssp/ntlmssp_client.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 142 source4/auth/ntlmssp/ntlmssp_client.c ntlmssp_handle_neg_flags(gensec_ntlmssp_state, chal_flags, gensec_ntlmssp_state->allow_lm_key); gensec_ntlmssp_state 144 source4/auth/ntlmssp/ntlmssp_client.c if (gensec_ntlmssp_state->unicode) { gensec_ntlmssp_state 176 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->server_domain = server_domain; gensec_ntlmssp_state 186 source4/auth/ntlmssp/ntlmssp_client.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_NTLM2) { gensec_ntlmssp_state 189 source4/auth/ntlmssp/ntlmssp_client.c if (gensec_ntlmssp_state->use_ntlmv2) { gensec_ntlmssp_state 192 source4/auth/ntlmssp/ntlmssp_client.c if (gensec_ntlmssp_state->use_nt_response) { gensec_ntlmssp_state 216 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_NTLM2; gensec_ntlmssp_state 219 source4/auth/ntlmssp/ntlmssp_client.c if ((gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_LM_KEY) gensec_ntlmssp_state 237 source4/auth/ntlmssp/ntlmssp_client.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_KEY_EXCH) { gensec_ntlmssp_state 243 source4/auth/ntlmssp/ntlmssp_client.c encrypted_session_key = data_blob_talloc(gensec_ntlmssp_state, gensec_ntlmssp_state 254 source4/auth/ntlmssp/ntlmssp_client.c debug_ntlmssp_flags(gensec_ntlmssp_state->neg_flags); gensec_ntlmssp_state 267 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags)) { gensec_ntlmssp_state 272 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->session_key = session_key; gensec_ntlmssp_state 273 source4/auth/ntlmssp/ntlmssp_client.c talloc_steal(gensec_ntlmssp_state, session_key.data); gensec_ntlmssp_state 277 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->chal = challenge_blob; gensec_ntlmssp_state 278 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->lm_resp = lm_response; gensec_ntlmssp_state 279 source4/auth/ntlmssp/ntlmssp_client.c talloc_steal(gensec_ntlmssp_state->lm_resp.data, lm_response.data); gensec_ntlmssp_state 280 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->nt_resp = nt_response; gensec_ntlmssp_state 281 source4/auth/ntlmssp/ntlmssp_client.c talloc_steal(gensec_ntlmssp_state->nt_resp.data, nt_response.data); gensec_ntlmssp_state 283 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->expected_state = NTLMSSP_DONE; gensec_ntlmssp_state 286 source4/auth/ntlmssp/ntlmssp_client.c nt_status = ntlmssp_sign_init(gensec_ntlmssp_state); gensec_ntlmssp_state 301 source4/auth/ntlmssp/ntlmssp_client.c struct gensec_ntlmssp_state *gensec_ntlmssp_state; gensec_ntlmssp_state 307 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 309 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->role = NTLMSSP_CLIENT; gensec_ntlmssp_state 311 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->domain = lp_workgroup(gensec_security->settings->lp_ctx); gensec_ntlmssp_state 313 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->unicode = gensec_setting_bool(gensec_security->settings, "ntlmssp_client", "unicode", true); gensec_ntlmssp_state 315 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->use_nt_response = gensec_setting_bool(gensec_security->settings, "ntlmssp_client", "send_nt_reponse", true); gensec_ntlmssp_state 317 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->allow_lm_key = (lp_client_lanman_auth(gensec_security->settings->lp_ctx) gensec_ntlmssp_state 321 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->use_ntlmv2 = lp_client_ntlmv2_auth(gensec_security->settings->lp_ctx); gensec_ntlmssp_state 323 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->expected_state = NTLMSSP_INITIAL; gensec_ntlmssp_state 325 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags = gensec_ntlmssp_state 330 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_128; gensec_ntlmssp_state 334 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_56; gensec_ntlmssp_state 338 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_LM_KEY; gensec_ntlmssp_state 342 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_KEY_EXCH; gensec_ntlmssp_state 346 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN; gensec_ntlmssp_state 350 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2; gensec_ntlmssp_state 353 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->use_ntlmv2 = false; gensec_ntlmssp_state 366 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SIGN; gensec_ntlmssp_state 369 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SIGN; gensec_ntlmssp_state 372 source4/auth/ntlmssp/ntlmssp_client.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SEAL; gensec_ntlmssp_state 375 source4/auth/ntlmssp/ntlmssp_client.c gensec_security->private_data = gensec_ntlmssp_state; gensec_ntlmssp_state 49 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->user = talloc_strdup(gensec_ntlmssp_state, user); gensec_ntlmssp_state 50 source4/auth/ntlmssp/ntlmssp_server.c if (!gensec_ntlmssp_state->user) { gensec_ntlmssp_state 62 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->domain = talloc_strdup(gensec_ntlmssp_state, domain); gensec_ntlmssp_state 63 source4/auth/ntlmssp/ntlmssp_server.c if (!gensec_ntlmssp_state->domain) { gensec_ntlmssp_state 75 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->workstation = talloc_strdup(gensec_ntlmssp_state, workstation); gensec_ntlmssp_state 76 source4/auth/ntlmssp/ntlmssp_server.c if (!gensec_ntlmssp_state->workstation) { gensec_ntlmssp_state 98 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->server_role == ROLE_STANDALONE) { gensec_ntlmssp_state 100 source4/auth/ntlmssp/ntlmssp_server.c return gensec_ntlmssp_state->server_name; gensec_ntlmssp_state 103 source4/auth/ntlmssp/ntlmssp_server.c return gensec_ntlmssp_state->domain; gensec_ntlmssp_state 126 source4/auth/ntlmssp/ntlmssp_server.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 153 source4/auth/ntlmssp/ntlmssp_server.c ntlmssp_handle_neg_flags(gensec_ntlmssp_state, neg_flags, gensec_ntlmssp_state->allow_lm_key); gensec_ntlmssp_state 156 source4/auth/ntlmssp/ntlmssp_server.c cryptkey = gensec_ntlmssp_state->get_challenge(gensec_ntlmssp_state); gensec_ntlmssp_state 163 source4/auth/ntlmssp/ntlmssp_server.c if (!gensec_ntlmssp_state->may_set_challenge(gensec_ntlmssp_state)) { gensec_ntlmssp_state 164 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_NTLM2; gensec_ntlmssp_state 172 source4/auth/ntlmssp/ntlmssp_server.c chal_flags = gensec_ntlmssp_state->neg_flags; gensec_ntlmssp_state 175 source4/auth/ntlmssp/ntlmssp_server.c target_name = ntlmssp_target_name(gensec_ntlmssp_state, gensec_ntlmssp_state 180 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->chal = data_blob_talloc(gensec_ntlmssp_state, cryptkey, 8); gensec_ntlmssp_state 181 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->internal_chal = data_blob_talloc(gensec_ntlmssp_state, cryptkey, 8); gensec_ntlmssp_state 194 source4/auth/ntlmssp/ntlmssp_server.c safe_strcpy(dnsname, gensec_ntlmssp_state->server_name, sizeof(dnsname) - 1); gensec_ntlmssp_state 210 source4/auth/ntlmssp/ntlmssp_server.c NTLMSSP_NAME_TYPE_SERVER, gensec_ntlmssp_state->server_name, gensec_ntlmssp_state 221 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->unicode) { gensec_ntlmssp_state 238 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->expected_state = NTLMSSP_AUTH; gensec_ntlmssp_state 268 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->unicode) { gensec_ntlmssp_state 275 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->lm_resp); gensec_ntlmssp_state 276 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->nt_resp); gensec_ntlmssp_state 277 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->encrypted_session_key); gensec_ntlmssp_state 279 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->user = NULL; gensec_ntlmssp_state 280 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->domain = NULL; gensec_ntlmssp_state 281 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->workstation = NULL; gensec_ntlmssp_state 284 source4/auth/ntlmssp/ntlmssp_server.c if (!msrpc_parse(gensec_ntlmssp_state, gensec_ntlmssp_state 288 source4/auth/ntlmssp/ntlmssp_server.c &gensec_ntlmssp_state->lm_resp, gensec_ntlmssp_state 289 source4/auth/ntlmssp/ntlmssp_server.c &gensec_ntlmssp_state->nt_resp, gensec_ntlmssp_state 293 source4/auth/ntlmssp/ntlmssp_server.c &gensec_ntlmssp_state->encrypted_session_key, gensec_ntlmssp_state 299 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->encrypted_session_key); gensec_ntlmssp_state 303 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->unicode) { gensec_ntlmssp_state 310 source4/auth/ntlmssp/ntlmssp_server.c if (!msrpc_parse(gensec_ntlmssp_state, gensec_ntlmssp_state 314 source4/auth/ntlmssp/ntlmssp_server.c &gensec_ntlmssp_state->lm_resp, gensec_ntlmssp_state 315 source4/auth/ntlmssp/ntlmssp_server.c &gensec_ntlmssp_state->nt_resp, gensec_ntlmssp_state 327 source4/auth/ntlmssp/ntlmssp_server.c ntlmssp_handle_neg_flags(gensec_ntlmssp_state, auth_flags, gensec_ntlmssp_state->allow_lm_key); gensec_ntlmssp_state 329 source4/auth/ntlmssp/ntlmssp_server.c if (!NT_STATUS_IS_OK(nt_status = ntlmssp_set_domain(gensec_ntlmssp_state, domain))) { gensec_ntlmssp_state 331 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->encrypted_session_key); gensec_ntlmssp_state 335 source4/auth/ntlmssp/ntlmssp_server.c if (!NT_STATUS_IS_OK(nt_status = ntlmssp_set_username(gensec_ntlmssp_state, user))) { gensec_ntlmssp_state 337 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->encrypted_session_key); gensec_ntlmssp_state 341 source4/auth/ntlmssp/ntlmssp_server.c if (!NT_STATUS_IS_OK(nt_status = ntlmssp_set_workstation(gensec_ntlmssp_state, workstation))) { gensec_ntlmssp_state 343 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->encrypted_session_key); gensec_ntlmssp_state 348 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->user, gensec_ntlmssp_state->domain, gensec_ntlmssp_state->workstation, (unsigned long)gensec_ntlmssp_state->lm_resp.length, (unsigned long)gensec_ntlmssp_state->nt_resp.length)); gensec_ntlmssp_state 351 source4/auth/ntlmssp/ntlmssp_server.c file_save("nthash1.dat", &gensec_ntlmssp_state->nt_resp.data, &gensec_ntlmssp_state->nt_resp.length); gensec_ntlmssp_state 352 source4/auth/ntlmssp/ntlmssp_server.c file_save("lmhash1.dat", &gensec_ntlmssp_state->lm_resp.data, &gensec_ntlmssp_state->lm_resp.length); gensec_ntlmssp_state 360 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_NTLM2) { gensec_ntlmssp_state 361 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->nt_resp.length == 24 && gensec_ntlmssp_state->lm_resp.length == 24) { gensec_ntlmssp_state 363 source4/auth/ntlmssp/ntlmssp_server.c SMB_ASSERT(gensec_ntlmssp_state->internal_chal.data gensec_ntlmssp_state 364 source4/auth/ntlmssp/ntlmssp_server.c && gensec_ntlmssp_state->internal_chal.length == 8); gensec_ntlmssp_state 366 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->doing_ntlm2 = true; gensec_ntlmssp_state 368 source4/auth/ntlmssp/ntlmssp_server.c memcpy(gensec_ntlmssp_state->crypt.ntlm2.session_nonce, gensec_ntlmssp_state->internal_chal.data, 8); gensec_ntlmssp_state 369 source4/auth/ntlmssp/ntlmssp_server.c memcpy(&gensec_ntlmssp_state->crypt.ntlm2.session_nonce[8], gensec_ntlmssp_state->lm_resp.data, 8); gensec_ntlmssp_state 372 source4/auth/ntlmssp/ntlmssp_server.c MD5Update(&md5_session_nonce_ctx, gensec_ntlmssp_state->crypt.ntlm2.session_nonce, 16); gensec_ntlmssp_state 375 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->chal = data_blob_talloc(gensec_ntlmssp_state, gensec_ntlmssp_state 379 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->lm_resp); gensec_ntlmssp_state 383 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->set_challenge(gensec_ntlmssp_state, gensec_ntlmssp_state 384 source4/auth/ntlmssp/ntlmssp_server.c &gensec_ntlmssp_state->chal))) { gensec_ntlmssp_state 386 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->encrypted_session_key); gensec_ntlmssp_state 391 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_LM_KEY; gensec_ntlmssp_state 409 source4/auth/ntlmssp/ntlmssp_server.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 420 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->doing_ntlm2) { gensec_ntlmssp_state 422 source4/auth/ntlmssp/ntlmssp_server.c session_key = data_blob_talloc(gensec_ntlmssp_state, NULL, 16); gensec_ntlmssp_state 423 source4/auth/ntlmssp/ntlmssp_server.c hmac_md5(user_session_key->data, gensec_ntlmssp_state->crypt.ntlm2.session_nonce, gensec_ntlmssp_state 424 source4/auth/ntlmssp/ntlmssp_server.c sizeof(gensec_ntlmssp_state->crypt.ntlm2.session_nonce), session_key.data); gensec_ntlmssp_state 432 source4/auth/ntlmssp/ntlmssp_server.c } else if ((gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_LM_KEY) gensec_ntlmssp_state 434 source4/auth/ntlmssp/ntlmssp_server.c && (gensec_ntlmssp_state->nt_resp.length == 0 || gensec_ntlmssp_state->nt_resp.length == 24)) { gensec_ntlmssp_state 437 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->lm_resp.data && gensec_ntlmssp_state->lm_resp.length == 24) { gensec_ntlmssp_state 438 source4/auth/ntlmssp/ntlmssp_server.c session_key = data_blob_talloc(gensec_ntlmssp_state, NULL, 16); gensec_ntlmssp_state 439 source4/auth/ntlmssp/ntlmssp_server.c SMBsesskeygen_lm_sess_key(lm_session_key->data, gensec_ntlmssp_state->lm_resp.data, gensec_ntlmssp_state 447 source4/auth/ntlmssp/ntlmssp_server.c session_key = data_blob_talloc(gensec_ntlmssp_state, NULL, 16); gensec_ntlmssp_state 455 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_LM_KEY; gensec_ntlmssp_state 467 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_LM_KEY; gensec_ntlmssp_state 476 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_LM_KEY; gensec_ntlmssp_state 483 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_LM_KEY; gensec_ntlmssp_state 488 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_KEY_EXCH) { gensec_ntlmssp_state 489 source4/auth/ntlmssp/ntlmssp_server.c if (!gensec_ntlmssp_state->encrypted_session_key.data gensec_ntlmssp_state 490 source4/auth/ntlmssp/ntlmssp_server.c || gensec_ntlmssp_state->encrypted_session_key.length != 16) { gensec_ntlmssp_state 491 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->encrypted_session_key); gensec_ntlmssp_state 493 source4/auth/ntlmssp/ntlmssp_server.c (unsigned)gensec_ntlmssp_state->encrypted_session_key.length)); gensec_ntlmssp_state 498 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->session_key = session_key; gensec_ntlmssp_state 501 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->encrypted_session_key.data, gensec_ntlmssp_state 502 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->encrypted_session_key.length); gensec_ntlmssp_state 503 source4/auth/ntlmssp/ntlmssp_server.c arcfour_crypt(gensec_ntlmssp_state->encrypted_session_key.data, gensec_ntlmssp_state 505 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->encrypted_session_key.length); gensec_ntlmssp_state 506 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->session_key = data_blob_talloc(gensec_ntlmssp_state, gensec_ntlmssp_state 507 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->encrypted_session_key.data, gensec_ntlmssp_state 508 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->encrypted_session_key.length); gensec_ntlmssp_state 509 source4/auth/ntlmssp/ntlmssp_server.c dump_data_pw("KEY_EXCH session key:\n", gensec_ntlmssp_state->encrypted_session_key.data, gensec_ntlmssp_state 510 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->encrypted_session_key.length); gensec_ntlmssp_state 513 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->session_key = session_key; gensec_ntlmssp_state 517 source4/auth/ntlmssp/ntlmssp_server.c talloc_steal(gensec_ntlmssp_state, session_key.data); gensec_ntlmssp_state 521 source4/auth/ntlmssp/ntlmssp_server.c nt_status = ntlmssp_sign_init(gensec_ntlmssp_state); gensec_ntlmssp_state 526 source4/auth/ntlmssp/ntlmssp_server.c data_blob_free(&gensec_ntlmssp_state->encrypted_session_key); gensec_ntlmssp_state 532 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->server_multiple_authentications) { gensec_ntlmssp_state 533 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->expected_state = NTLMSSP_AUTH; gensec_ntlmssp_state 535 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->expected_state = NTLMSSP_DONE; gensec_ntlmssp_state 556 source4/auth/ntlmssp/ntlmssp_server.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 569 source4/auth/ntlmssp/ntlmssp_server.c if (!NT_STATUS_IS_OK(nt_status = ntlmssp_server_preauth(gensec_ntlmssp_state, in))) { gensec_ntlmssp_state 583 source4/auth/ntlmssp/ntlmssp_server.c if (!NT_STATUS_IS_OK(nt_status = gensec_ntlmssp_state->check_password(gensec_ntlmssp_state, mem_ctx, gensec_ntlmssp_state 595 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->session_key = data_blob(NULL, 0); gensec_ntlmssp_state 611 source4/auth/ntlmssp/ntlmssp_server.c status = gensec_ntlmssp_state->auth_context->get_challenge(gensec_ntlmssp_state->auth_context, &chal); gensec_ntlmssp_state 628 source4/auth/ntlmssp/ntlmssp_server.c return gensec_ntlmssp_state->auth_context->challenge_may_be_modified(gensec_ntlmssp_state->auth_context); gensec_ntlmssp_state 638 source4/auth/ntlmssp/ntlmssp_server.c struct auth_context *auth_context = gensec_ntlmssp_state->auth_context; gensec_ntlmssp_state 647 source4/auth/ntlmssp/ntlmssp_server.c nt_status = gensec_ntlmssp_state->auth_context->set_challenge(auth_context, gensec_ntlmssp_state 673 source4/auth/ntlmssp/ntlmssp_server.c user_info->client.account_name = gensec_ntlmssp_state->user; gensec_ntlmssp_state 674 source4/auth/ntlmssp/ntlmssp_server.c user_info->client.domain_name = gensec_ntlmssp_state->domain; gensec_ntlmssp_state 675 source4/auth/ntlmssp/ntlmssp_server.c user_info->workstation_name = gensec_ntlmssp_state->workstation; gensec_ntlmssp_state 676 source4/auth/ntlmssp/ntlmssp_server.c user_info->remote_host = gensec_get_peer_addr(gensec_ntlmssp_state->gensec_security); gensec_ntlmssp_state 679 source4/auth/ntlmssp/ntlmssp_server.c user_info->password.response.lanman = gensec_ntlmssp_state->lm_resp; gensec_ntlmssp_state 680 source4/auth/ntlmssp/ntlmssp_server.c user_info->password.response.lanman.data = talloc_steal(user_info, gensec_ntlmssp_state->lm_resp.data); gensec_ntlmssp_state 681 source4/auth/ntlmssp/ntlmssp_server.c user_info->password.response.nt = gensec_ntlmssp_state->nt_resp; gensec_ntlmssp_state 682 source4/auth/ntlmssp/ntlmssp_server.c user_info->password.response.nt.data = talloc_steal(user_info, gensec_ntlmssp_state->nt_resp.data); gensec_ntlmssp_state 684 source4/auth/ntlmssp/ntlmssp_server.c nt_status = gensec_ntlmssp_state->auth_context->check_password(gensec_ntlmssp_state->auth_context, gensec_ntlmssp_state 687 source4/auth/ntlmssp/ntlmssp_server.c &gensec_ntlmssp_state->server_info); gensec_ntlmssp_state 691 source4/auth/ntlmssp/ntlmssp_server.c talloc_steal(gensec_ntlmssp_state, gensec_ntlmssp_state->server_info); gensec_ntlmssp_state 693 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->server_info->user_session_key.length) { gensec_ntlmssp_state 695 source4/auth/ntlmssp/ntlmssp_server.c (unsigned)gensec_ntlmssp_state->server_info->user_session_key.length)); gensec_ntlmssp_state 696 source4/auth/ntlmssp/ntlmssp_server.c if (!talloc_reference(mem_ctx, gensec_ntlmssp_state->server_info->user_session_key.data)) { gensec_ntlmssp_state 700 source4/auth/ntlmssp/ntlmssp_server.c *user_session_key = gensec_ntlmssp_state->server_info->user_session_key; gensec_ntlmssp_state 702 source4/auth/ntlmssp/ntlmssp_server.c if (gensec_ntlmssp_state->server_info->lm_session_key.length) { gensec_ntlmssp_state 704 source4/auth/ntlmssp/ntlmssp_server.c (unsigned)gensec_ntlmssp_state->server_info->lm_session_key.length)); gensec_ntlmssp_state 705 source4/auth/ntlmssp/ntlmssp_server.c if (!talloc_reference(mem_ctx, gensec_ntlmssp_state->server_info->lm_session_key.data)) { gensec_ntlmssp_state 709 source4/auth/ntlmssp/ntlmssp_server.c *lm_session_key = gensec_ntlmssp_state->server_info->lm_session_key; gensec_ntlmssp_state 728 source4/auth/ntlmssp/ntlmssp_server.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 730 source4/auth/ntlmssp/ntlmssp_server.c nt_status = auth_generate_session_info(gensec_ntlmssp_state, gensec_security->event_ctx, gensec_security->settings->lp_ctx, gensec_ntlmssp_state->server_info, session_info); gensec_ntlmssp_state 734 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->session_key.data, gensec_ntlmssp_state 735 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->session_key.length); gensec_ntlmssp_state 747 source4/auth/ntlmssp/ntlmssp_server.c struct gensec_ntlmssp_state *gensec_ntlmssp_state; gensec_ntlmssp_state 752 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 754 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->role = NTLMSSP_SERVER; gensec_ntlmssp_state 756 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->workstation = NULL; gensec_ntlmssp_state 757 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->server_name = lp_netbios_name(gensec_security->settings->lp_ctx); gensec_ntlmssp_state 759 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->domain = lp_workgroup(gensec_security->settings->lp_ctx); gensec_ntlmssp_state 761 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->expected_state = NTLMSSP_NEGOTIATE; gensec_ntlmssp_state 763 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->allow_lm_key = (lp_lanman_auth(gensec_security->settings->lp_ctx) gensec_ntlmssp_state 766 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->server_multiple_authentications = false; gensec_ntlmssp_state 768 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags = gensec_ntlmssp_state 771 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->lm_resp = data_blob(NULL, 0); gensec_ntlmssp_state 772 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->nt_resp = data_blob(NULL, 0); gensec_ntlmssp_state 773 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->encrypted_session_key = data_blob(NULL, 0); gensec_ntlmssp_state 776 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_128; gensec_ntlmssp_state 780 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_56; gensec_ntlmssp_state 784 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_KEY_EXCH; gensec_ntlmssp_state 788 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN; gensec_ntlmssp_state 792 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2; gensec_ntlmssp_state 796 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SIGN; gensec_ntlmssp_state 799 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SEAL; gensec_ntlmssp_state 802 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->auth_context = gensec_security->auth_context; gensec_ntlmssp_state 804 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->get_challenge = auth_ntlmssp_get_challenge; gensec_ntlmssp_state 805 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->may_set_challenge = auth_ntlmssp_may_set_challenge; gensec_ntlmssp_state 806 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->set_challenge = auth_ntlmssp_set_challenge; gensec_ntlmssp_state 807 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->check_password = auth_ntlmssp_check_password; gensec_ntlmssp_state 808 source4/auth/ntlmssp/ntlmssp_server.c gensec_ntlmssp_state->server_role = lp_server_role(gensec_security->settings->lp_ctx); gensec_ntlmssp_state 70 source4/auth/ntlmssp/ntlmssp_sign.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_NTLM2) { gensec_ntlmssp_state 83 source4/auth/ntlmssp/ntlmssp_sign.c SIVAL(seq_num, 0, gensec_ntlmssp_state->crypt.ntlm2.send_seq_num); gensec_ntlmssp_state 84 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.send_seq_num++; gensec_ntlmssp_state 85 source4/auth/ntlmssp/ntlmssp_sign.c hmac_md5_init_limK_to_64(gensec_ntlmssp_state->crypt.ntlm2.send_sign_key.data, gensec_ntlmssp_state 86 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.send_sign_key.length, &ctx); gensec_ntlmssp_state 89 source4/auth/ntlmssp/ntlmssp_sign.c SIVAL(seq_num, 0, gensec_ntlmssp_state->crypt.ntlm2.recv_seq_num); gensec_ntlmssp_state 90 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.recv_seq_num++; gensec_ntlmssp_state 91 source4/auth/ntlmssp/ntlmssp_sign.c hmac_md5_init_limK_to_64(gensec_ntlmssp_state->crypt.ntlm2.recv_sign_key.data, gensec_ntlmssp_state 92 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.recv_sign_key.length, &ctx); gensec_ntlmssp_state 99 source4/auth/ntlmssp/ntlmssp_sign.c if (encrypt_sig && gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_KEY_EXCH) { gensec_ntlmssp_state 102 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_crypt_sbox(gensec_ntlmssp_state->crypt.ntlm2.send_seal_arcfour_state, digest, 8); gensec_ntlmssp_state 105 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_crypt_sbox(gensec_ntlmssp_state->crypt.ntlm2.recv_seal_arcfour_state, digest, 8); gensec_ntlmssp_state 121 source4/auth/ntlmssp/ntlmssp_sign.c sig, "dddd", NTLMSSP_SIGN_VERSION, 0, crc, gensec_ntlmssp_state->crypt.ntlm.seq_num)) { gensec_ntlmssp_state 124 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm.seq_num++; gensec_ntlmssp_state 126 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_crypt_sbox(gensec_ntlmssp_state->crypt.ntlm.arcfour_state, sig->data+4, sig->length-4); gensec_ntlmssp_state 141 source4/auth/ntlmssp/ntlmssp_sign.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 143 source4/auth/ntlmssp/ntlmssp_sign.c return ntlmssp_make_packet_signature(gensec_ntlmssp_state, sig_mem_ctx, gensec_ntlmssp_state 160 source4/auth/ntlmssp/ntlmssp_sign.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 165 source4/auth/ntlmssp/ntlmssp_sign.c if (!gensec_ntlmssp_state->session_key.length) { gensec_ntlmssp_state 170 source4/auth/ntlmssp/ntlmssp_sign.c nt_status = ntlmssp_make_packet_signature(gensec_ntlmssp_state, sig_mem_ctx, gensec_ntlmssp_state 180 source4/auth/ntlmssp/ntlmssp_sign.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_NTLM2) { gensec_ntlmssp_state 224 source4/auth/ntlmssp/ntlmssp_sign.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 226 source4/auth/ntlmssp/ntlmssp_sign.c if (!gensec_ntlmssp_state->session_key.length) { gensec_ntlmssp_state 233 source4/auth/ntlmssp/ntlmssp_sign.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_NTLM2) { gensec_ntlmssp_state 237 source4/auth/ntlmssp/ntlmssp_sign.c nt_status = ntlmssp_make_packet_signature(gensec_ntlmssp_state, sig_mem_ctx, gensec_ntlmssp_state 241 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_crypt_sbox(gensec_ntlmssp_state->crypt.ntlm2.send_seal_arcfour_state, data, length); gensec_ntlmssp_state 242 source4/auth/ntlmssp/ntlmssp_sign.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_KEY_EXCH) { gensec_ntlmssp_state 243 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_crypt_sbox(gensec_ntlmssp_state->crypt.ntlm2.send_seal_arcfour_state, sig->data+4, 8); gensec_ntlmssp_state 249 source4/auth/ntlmssp/ntlmssp_sign.c sig, "dddd", NTLMSSP_SIGN_VERSION, 0, crc, gensec_ntlmssp_state->crypt.ntlm.seq_num)) { gensec_ntlmssp_state 259 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_crypt_sbox(gensec_ntlmssp_state->crypt.ntlm.arcfour_state, data, length); gensec_ntlmssp_state 260 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_crypt_sbox(gensec_ntlmssp_state->crypt.ntlm.arcfour_state, sig->data+4, sig->length-4); gensec_ntlmssp_state 262 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm.seq_num++; gensec_ntlmssp_state 286 source4/auth/ntlmssp/ntlmssp_sign.c struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 287 source4/auth/ntlmssp/ntlmssp_sign.c if (!gensec_ntlmssp_state->session_key.length) { gensec_ntlmssp_state 293 source4/auth/ntlmssp/ntlmssp_sign.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_NTLM2) { gensec_ntlmssp_state 294 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_crypt_sbox(gensec_ntlmssp_state->crypt.ntlm2.recv_seal_arcfour_state, data, length); gensec_ntlmssp_state 296 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_crypt_sbox(gensec_ntlmssp_state->crypt.ntlm.arcfour_state, data, length); gensec_ntlmssp_state 308 source4/auth/ntlmssp/ntlmssp_sign.c TALLOC_CTX *mem_ctx = talloc_new(gensec_ntlmssp_state); gensec_ntlmssp_state 315 source4/auth/ntlmssp/ntlmssp_sign.c debug_ntlmssp_flags(gensec_ntlmssp_state->neg_flags); gensec_ntlmssp_state 317 source4/auth/ntlmssp/ntlmssp_sign.c if (gensec_ntlmssp_state->session_key.length < 8) { gensec_ntlmssp_state 323 source4/auth/ntlmssp/ntlmssp_sign.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_NTLM2) gensec_ntlmssp_state 325 source4/auth/ntlmssp/ntlmssp_sign.c DATA_BLOB weak_session_key = gensec_ntlmssp_state->session_key; gensec_ntlmssp_state 334 source4/auth/ntlmssp/ntlmssp_sign.c switch (gensec_ntlmssp_state->role) { gensec_ntlmssp_state 352 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.send_seal_arcfour_state = talloc(gensec_ntlmssp_state, struct arcfour_state); gensec_ntlmssp_state 353 source4/auth/ntlmssp/ntlmssp_sign.c NT_STATUS_HAVE_NO_MEMORY(gensec_ntlmssp_state->crypt.ntlm2.send_seal_arcfour_state); gensec_ntlmssp_state 354 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.recv_seal_arcfour_state = talloc(gensec_ntlmssp_state, struct arcfour_state); gensec_ntlmssp_state 355 source4/auth/ntlmssp/ntlmssp_sign.c NT_STATUS_HAVE_NO_MEMORY(gensec_ntlmssp_state->crypt.ntlm2.send_seal_arcfour_state); gensec_ntlmssp_state 371 source4/auth/ntlmssp/ntlmssp_sign.c if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_128) { gensec_ntlmssp_state 373 source4/auth/ntlmssp/ntlmssp_sign.c } else if (gensec_ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_56) { gensec_ntlmssp_state 383 source4/auth/ntlmssp/ntlmssp_sign.c calc_ntlmv2_key(gensec_ntlmssp_state, gensec_ntlmssp_state 384 source4/auth/ntlmssp/ntlmssp_sign.c &gensec_ntlmssp_state->crypt.ntlm2.send_sign_key, gensec_ntlmssp_state 385 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->session_key, send_sign_const); gensec_ntlmssp_state 387 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.send_sign_key.data, gensec_ntlmssp_state 388 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.send_sign_key.length); gensec_ntlmssp_state 397 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_init(gensec_ntlmssp_state->crypt.ntlm2.send_seal_arcfour_state, gensec_ntlmssp_state 400 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.send_seal_arcfour_state->sbox, gensec_ntlmssp_state 401 source4/auth/ntlmssp/ntlmssp_sign.c sizeof(gensec_ntlmssp_state->crypt.ntlm2.send_seal_arcfour_state->sbox)); gensec_ntlmssp_state 404 source4/auth/ntlmssp/ntlmssp_sign.c calc_ntlmv2_key(gensec_ntlmssp_state, gensec_ntlmssp_state 405 source4/auth/ntlmssp/ntlmssp_sign.c &gensec_ntlmssp_state->crypt.ntlm2.recv_sign_key, gensec_ntlmssp_state 406 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->session_key, recv_sign_const); gensec_ntlmssp_state 408 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.recv_sign_key.data, gensec_ntlmssp_state 409 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.recv_sign_key.length); gensec_ntlmssp_state 418 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_init(gensec_ntlmssp_state->crypt.ntlm2.recv_seal_arcfour_state, gensec_ntlmssp_state 421 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.recv_seal_arcfour_state->sbox, gensec_ntlmssp_state 422 source4/auth/ntlmssp/ntlmssp_sign.c sizeof(gensec_ntlmssp_state->crypt.ntlm2.recv_seal_arcfour_state->sbox)); gensec_ntlmssp_state 424 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.send_seq_num = 0; gensec_ntlmssp_state 425 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm2.recv_seq_num = 0; gensec_ntlmssp_state 428 source4/auth/ntlmssp/ntlmssp_sign.c DATA_BLOB weak_session_key = ntlmssp_weakend_key(gensec_ntlmssp_state, mem_ctx); gensec_ntlmssp_state 431 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm.arcfour_state = talloc(gensec_ntlmssp_state, struct arcfour_state); gensec_ntlmssp_state 432 source4/auth/ntlmssp/ntlmssp_sign.c NT_STATUS_HAVE_NO_MEMORY(gensec_ntlmssp_state->crypt.ntlm.arcfour_state); gensec_ntlmssp_state 434 source4/auth/ntlmssp/ntlmssp_sign.c arcfour_init(gensec_ntlmssp_state->crypt.ntlm.arcfour_state, gensec_ntlmssp_state 436 source4/auth/ntlmssp/ntlmssp_sign.c dump_data_pw("NTLMSSP hash:\n", gensec_ntlmssp_state->crypt.ntlm.arcfour_state->sbox, gensec_ntlmssp_state 437 source4/auth/ntlmssp/ntlmssp_sign.c sizeof(gensec_ntlmssp_state->crypt.ntlm.arcfour_state->sbox)); gensec_ntlmssp_state 439 source4/auth/ntlmssp/ntlmssp_sign.c gensec_ntlmssp_state->crypt.ntlm.seq_num = 0; gensec_ntlmssp_state 31 source4/torture/auth/ntlmssp.c struct gensec_ntlmssp_state *gensec_ntlmssp_state; gensec_ntlmssp_state 50 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 52 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state->session_key = strhex_to_data_blob(tctx, "0102030405060708090a0b0c0d0e0f00"); gensec_ntlmssp_state 54 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state->session_key.data, gensec_ntlmssp_state 55 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state->session_key.length); gensec_ntlmssp_state 57 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state->neg_flags = NTLMSSP_NEGOTIATE_SIGN | NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_128 | NTLMSSP_NEGOTIATE_KEY_EXCH | NTLMSSP_NEGOTIATE_NTLM2; gensec_ntlmssp_state 60 source4/torture/auth/ntlmssp.c ntlmssp_sign_init(gensec_ntlmssp_state), gensec_ntlmssp_state 82 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state->session_key = data_blob(NULL, 0); gensec_ntlmssp_state 105 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data; gensec_ntlmssp_state 107 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state->session_key = strhex_to_data_blob(tctx, "0102030405e538b0"); gensec_ntlmssp_state 109 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state->session_key.data, gensec_ntlmssp_state 110 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state->session_key.length); gensec_ntlmssp_state 112 source4/torture/auth/ntlmssp.c gensec_ntlmssp_state->neg_flags = NTLMSSP_NEGOTIATE_SIGN | NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_KEY_EXCH; gensec_ntlmssp_state 115 source4/torture/auth/ntlmssp.c ntlmssp_sign_init(gensec_ntlmssp_state), gensec_ntlmssp_state 641 source4/utils/ntlm_auth.c struct gensec_ntlmssp_state *gensec_ntlmssp_state; gensec_ntlmssp_state 644 source4/utils/ntlm_auth.c gensec_ntlmssp_state = talloc_get_type(state->gensec_state->private_data, gensec_ntlmssp_state 645 source4/utils/ntlm_auth.c struct gensec_ntlmssp_state); gensec_ntlmssp_state 646 source4/utils/ntlm_auth.c neg_flags = gensec_ntlmssp_state->neg_flags;