*/
static NTSTATUS auth_ntlmssp_check_password(struct ntlmssp_state *ntlmssp_state, TALLOC_CTX *mem_ctx,
- DATA_BLOB *user_session_key, DATA_BLOB *lm_session_key)
+ DATA_BLOB *session_key, DATA_BLOB *lm_session_key)
{
struct auth_ntlmssp_state *auth_ntlmssp_state =
(struct auth_ntlmssp_state *)ntlmssp_state->callback_private;
* NTLMSSP code will decide on the final correct session key,
* and put it back here at the end of
* auth_ntlmssp_steal_server_info */
- if (auth_ntlmssp_state->server_info->user_session_key.length) {
+ if (auth_ntlmssp_state->server_info->session_key.length) {
DEBUG(10, ("Got NT session key of length %u\n",
- (unsigned int)auth_ntlmssp_state->server_info->user_session_key.length));
- *user_session_key = auth_ntlmssp_state->server_info->user_session_key;
- talloc_steal(mem_ctx, auth_ntlmssp_state->server_info->user_session_key.data);
- auth_ntlmssp_state->server_info->user_session_key = data_blob_null;
+ (unsigned int)auth_ntlmssp_state->server_info->session_key.length));
+ *session_key = auth_ntlmssp_state->server_info->session_key;
+ talloc_steal(mem_ctx, auth_ntlmssp_state->server_info->session_key.data);
+ auth_ntlmssp_state->server_info->session_key = data_blob_null;
}
if (auth_ntlmssp_state->server_info->lm_session_key.length) {
DEBUG(10, ("Got LM session key of length %u\n",
}
if (session_key) {
- data_blob_free(&session_info->user_session_key);
- session_info->user_session_key = data_blob_talloc(session_info,
+ data_blob_free(&session_info->session_key);
+ session_info->session_key = data_blob_talloc(session_info,
session_key->data,
session_key->length);
- if (!session_info->user_session_key.data && session_key->length) {
+ if (!session_info->session_key.data && session_key->length) {
return NT_STATUS_NO_MEMORY;
}
}
/* annoying, but the Guest really does have a session key, and it is
all zeros! */
- (*session_info)->user_session_key = data_blob(zeros, sizeof(zeros));
+ (*session_info)->session_key = data_blob(zeros, sizeof(zeros));
(*session_info)->lm_session_key = data_blob(zeros, sizeof(zeros));
alpha_strcpy(tmp, (*session_info)->info3->base.account_name.string,
}
}
- dst->user_session_key = data_blob_talloc( dst, src->user_session_key.data,
- src->user_session_key.length);
+ dst->session_key = data_blob_talloc( dst, src->session_key.data,
+ src->session_key.length);
dst->lm_session_key = data_blob_talloc(dst, src->lm_session_key.data,
src->lm_session_key.length);
bool session_info_set_session_key(struct auth_serversupplied_info *info,
DATA_BLOB session_key)
{
- TALLOC_FREE(info->user_session_key.data);
+ TALLOC_FREE(info->session_key.data);
- info->user_session_key = data_blob_talloc(
+ info->session_key = data_blob_talloc(
info, session_key.data, session_key.length);
- return (info->user_session_key.data != NULL);
+ return (info->session_key.data != NULL);
}
static struct auth_serversupplied_info *guest_info = NULL;
/* ensure we are never given NULL session keys */
if (memcmp(info3->base.key.key, zeros, sizeof(zeros)) == 0) {
- result->user_session_key = data_blob_null;
+ result->session_key = data_blob_null;
} else {
- result->user_session_key = data_blob_talloc(
+ result->session_key = data_blob_talloc(
result, info3->base.key.key,
sizeof(info3->base.key.key));
}
goto done;
}
- (*server_info)->user_session_key =
+ (*server_info)->session_key =
data_blob_talloc(*server_info, user_sess_key.data,
user_sess_key.length);
data_blob_free(&user_sess_key);
return NT_STATUS_NO_MEMORY;
}
- if (server_info->user_session_key.length) {
+ if (server_info->session_key.length) {
memcpy(info3->base.key.key,
- server_info->user_session_key.data,
+ server_info->session_key.data,
MIN(sizeof(info3->base.key.key),
- server_info->user_session_key.length));
+ server_info->session_key.length));
if (pipe_session_key) {
arcfour_crypt(info3->base.key.key,
pipe_session_key, 16);
return NT_STATUS_NO_MEMORY;
}
- if (server_info->user_session_key.length) {
+ if (server_info->session_key.length) {
memcpy(info3->base.key.key,
- server_info->user_session_key.data,
+ server_info->session_key.data,
MIN(sizeof(info3->base.key.key),
- server_info->user_session_key.length));
+ server_info->session_key.length));
if (pipe_session_key) {
arcfour_crypt(info3->base.key.key,
pipe_session_key, 16);
return NT_STATUS_NO_MEMORY;
}
- if (server_info->user_session_key.length) {
+ if (server_info->session_key.length) {
memcpy(info3->base.key.key,
- server_info->user_session_key.data,
+ server_info->session_key.data,
MIN(sizeof(info3->base.key.key),
- server_info->user_session_key.length));
+ server_info->session_key.length));
if (pipe_session_key) {
arcfour_crypt(info3->base.key.key,
pipe_session_key, 16);
* Bottom line, it is not the same as the session keys in info3.
*/
- DATA_BLOB user_session_key;
+ DATA_BLOB session_key;
DATA_BLOB lm_session_key;
struct netr_SamInfo3 *info3;
auth_blob.data = r->in.auth_info->auth_blob.data;
arcfour_crypt_blob(auth_blob.data, auth_blob.length,
- &p->session_info->user_session_key);
+ &p->session_info->session_key);
ndr_err = ndr_pull_struct_blob(&auth_blob, p->mem_ctx,
&auth_struct,
in = data_blob_const(nt_hash->hash, 16);
out = data_blob_talloc_zero(mem_ctx, 16);
- sess_crypt_blob(&out, &in, &session_info->user_session_key, true);
+ sess_crypt_blob(&out, &in, &session_info->session_key, true);
memcpy(info18.nt_pwd.hash, out.data, out.length);
info18.nt_pwd_active = true;
/* Send the named_pipe_auth server the user's full token */
session_info_t->security_token = session_info->security_token;
- session_info_t->session_key = session_info->user_session_key;
+ session_info_t->session_key = session_info->session_key;
val.sam3 = session_info->info3;
}
i->security_token = s->security_token;
- i->session_key = s->user_session_key;
+ i->session_key = s->session_key;
val.sam3 = s->info3;
/* Used by AS/U JRA. */
status = set_user_info_18(&info->info18,
p->mem_ctx,
- &p->session_info->user_session_key,
+ &p->session_info->session_key,
pwd);
break;
case 21:
status = set_user_info_21(&info->info21,
p->mem_ctx,
- &p->session_info->user_session_key,
+ &p->session_info->session_key,
pwd);
break;
case 23:
- if (!p->session_info->user_session_key.length) {
+ if (!p->session_info->session_key.length) {
status = NT_STATUS_NO_USER_SESSION_KEY;
}
arcfour_crypt_blob(info->info23.password.data, 516,
- &p->session_info->user_session_key);
+ &p->session_info->session_key);
dump_data(100, info->info23.password.data, 516);
break;
case 24:
- if (!p->session_info->user_session_key.length) {
+ if (!p->session_info->session_key.length) {
status = NT_STATUS_NO_USER_SESSION_KEY;
}
arcfour_crypt_blob(info->info24.password.data,
516,
- &p->session_info->user_session_key);
+ &p->session_info->session_key);
dump_data(100, info->info24.password.data, 516);
break;
case 25:
- if (!p->session_info->user_session_key.length) {
+ if (!p->session_info->session_key.length) {
status = NT_STATUS_NO_USER_SESSION_KEY;
}
encode_or_decode_arc4_passwd_buffer(
info->info25.password.data,
- &p->session_info->user_session_key);
+ &p->session_info->session_key);
dump_data(100, info->info25.password.data, 532);
break;
case 26:
- if (!p->session_info->user_session_key.length) {
+ if (!p->session_info->session_key.length) {
status = NT_STATUS_NO_USER_SESSION_KEY;
}
encode_or_decode_arc4_passwd_buffer(
info->info26.password.data,
- &p->session_info->user_session_key);
+ &p->session_info->session_key);
dump_data(100, info->info26.password.data, 516);
werr = decode_wkssvc_join_password_buffer(
p->mem_ctx, r->in.encrypted_password,
- &p->session_info->user_session_key, &cleartext_pwd);
+ &p->session_info->session_key, &cleartext_pwd);
if (!W_ERROR_IS_OK(werr)) {
return werr;
}
werr = decode_wkssvc_join_password_buffer(
p->mem_ctx, r->in.encrypted_password,
- &p->session_info->user_session_key, &cleartext_pwd);
+ &p->session_info->session_key, &cleartext_pwd);
if (!W_ERROR_IS_OK(werr)) {
return werr;
}
/* Try and turn on server signing on the first non-guest
* sessionsetup. */
srv_set_signing(sconn,
- vuser->session_info->user_session_key,
+ vuser->session_info->session_key,
response_blob);
}
session->do_signing = false;
}
- session->session_key = session->session_info->user_session_key;
+ session->session_key = session->session_info->session_key;
session->compat_vuser = talloc_zero(session, user_struct);
if (session->compat_vuser == NULL) {
session->do_signing = false;
}
- session->session_key = session->session_info->user_session_key;
+ session->session_key = session->session_info->session_key;
session->compat_vuser = talloc_zero(session, user_struct);
if (session->compat_vuser == NULL) {