From 35dc0e94d18db1617fcde6cf6cfc342284c8299f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 19 Dec 2006 18:22:08 +0000 Subject: [PATCH] split RC4 send and recv keystreams git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19457 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/ntlm/accept_sec_context.c | 5 ++++- lib/gssapi/ntlm/init_sec_context.c | 5 ++++- lib/gssapi/ntlm/ntlm.h | 5 ++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/gssapi/ntlm/accept_sec_context.c b/lib/gssapi/ntlm/accept_sec_context.c index 10db28ad3..5de74f8f8 100644 --- a/lib/gssapi/ntlm/accept_sec_context.c +++ b/lib/gssapi/ntlm/accept_sec_context.c @@ -180,7 +180,10 @@ handle_type3(OM_uint32 *minor_status, &ctx->sessionkey); if (ret == 0 && ctx->sessionkey.length == 16) { ctx->status |= STATUS_SESSIONKEY; - RC4_set_key(&ctx->crypto.key, + RC4_set_key(&ctx->crypto_send.key, + ctx->sessionkey.length, + ctx->sessionkey.data); + RC4_set_key(&ctx->crypto_recv.key, ctx->sessionkey.length, ctx->sessionkey.data); } diff --git a/lib/gssapi/ntlm/init_sec_context.c b/lib/gssapi/ntlm/init_sec_context.c index 9740dd4c9..a5a7eaf8f 100644 --- a/lib/gssapi/ntlm/init_sec_context.c +++ b/lib/gssapi/ntlm/init_sec_context.c @@ -217,7 +217,10 @@ _gss_ntlm_init_sec_context } ctx->status |= STATUS_SESSIONKEY; - RC4_set_key(&ctx->crypto.key, + RC4_set_key(&ctx->crypto_recv.key, + ctx->sessionkey.length, + ctx->sessionkey.data); + RC4_set_key(&ctx->crypto_send.key, ctx->sessionkey.length, ctx->sessionkey.data); diff --git a/lib/gssapi/ntlm/ntlm.h b/lib/gssapi/ntlm/ntlm.h index 0901a55b7..623f6668f 100644 --- a/lib/gssapi/ntlm/ntlm.h +++ b/lib/gssapi/ntlm/ntlm.h @@ -73,10 +73,9 @@ typedef struct { krb5_data sessionkey; struct { - uint32_t send_seq; - uint32_t recv_seq; + uint32_t seq; RC4_KEY key; - } crypto; + } crypto_send, crypto_recv; } *ntlm_ctx; typedef struct {