summaryrefslogtreecommitdiff
path: root/mpaux.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>1999-12-14 10:47:15 +1100
committerDamien Miller <djm@mindrot.org>1999-12-14 10:47:15 +1100
commita34a28bf86c04eb35c522b1e31c32e94edf355d2 (patch)
treeb048bcbc954cae87930fe287a92197abccceb1de /mpaux.c
parentc6b3bbe2b991f4f87ca1f8214f43c13a5a73f385 (diff)
- OpenBSD CVS Changes
- [canohost.c] fix get_remote_port() and friends for sshd -i; Holger.Trapp@Informatik.TU-Chemnitz.DE - [mpaux.c] make code simpler. no need for memcpy. niels@ ok - [pty.c] namebuflen not sizeof namebuflen; bnd@ep-ag.com via djm@mindrot.org fix proto; markus - [ssh.1] typo; mark.baushke@solipsa.com - [channels.c ssh.c ssh.h sshd.c] type conflict for 'extern Type *options' in channels.c; dot@dotat.at - [sshconnect.c] move checking of hostkey into own function. - [version.h] OpenSSH-1.2.1
Diffstat (limited to 'mpaux.c')
-rw-r--r--mpaux.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/mpaux.c b/mpaux.c
index 7bc7c13b8..24e9ce138 100644
--- a/mpaux.c
+++ b/mpaux.c
@@ -15,7 +15,7 @@
15*/ 15*/
16 16
17#include "includes.h" 17#include "includes.h"
18RCSID("$Id: mpaux.c,v 1.7 1999/11/24 13:26:22 damien Exp $"); 18RCSID("$Id: mpaux.c,v 1.8 1999/12/13 23:47:16 damien Exp $");
19 19
20#include "getput.h" 20#include "getput.h"
21#include "xmalloc.h" 21#include "xmalloc.h"
@@ -35,17 +35,17 @@ compute_session_id(unsigned char session_id[16],
35 BIGNUM* host_key_n, 35 BIGNUM* host_key_n,
36 BIGNUM* session_key_n) 36 BIGNUM* session_key_n)
37{ 37{
38 unsigned int host_key_bits = BN_num_bits(host_key_n); 38 unsigned int host_key_bytes = BN_num_bytes(host_key_n);
39 unsigned int session_key_bits = BN_num_bits(session_key_n); 39 unsigned int session_key_bytes = BN_num_bytes(session_key_n);
40 unsigned int bytes = (host_key_bits + 7) / 8 + (session_key_bits + 7) / 8 + 8; 40 unsigned int bytes = host_key_bytes + session_key_bytes;
41 unsigned char *buf = xmalloc(bytes); 41 unsigned char *buf = xmalloc(bytes);
42 MD5_CTX md; 42 MD5_CTX md;
43 43
44 BN_bn2bin(host_key_n, buf); 44 BN_bn2bin(host_key_n, buf);
45 BN_bn2bin(session_key_n, buf + (host_key_bits + 7) / 8); 45 BN_bn2bin(session_key_n, buf + host_key_bytes);
46 memcpy(buf + (host_key_bits + 7) / 8 + (session_key_bits + 7) / 8, cookie, 8);
47 MD5_Init(&md); 46 MD5_Init(&md);
48 MD5_Update(&md, buf, bytes); 47 MD5_Update(&md, buf, bytes);
48 MD5_Update(&md, cookie, 8);
49 MD5_Final(session_id, &md); 49 MD5_Final(session_id, &md);
50 memset(buf, 0, bytes); 50 memset(buf, 0, bytes);
51 xfree(buf); 51 xfree(buf);