[selene-tls] push by p...@querna.org - Fix generation of client key exchange length on 2011-08-21 22:53 GMT

1 view
Skip to first unread message

selen...@googlecode.com

unread,
Aug 21, 2011, 6:58:49 PM8/21/11
to selene-...@googlegroups.com
Revision: 279a09341148
Author: Paul Querna <pqu...@apache.org>
Date: Sun Aug 21 15:53:27 2011
Log: Fix generation of client key exchange length

http://code.google.com/p/selene-tls/source/detail?r=279a09341148

Modified:
/lib/parser/handshake_messages/client_key_exchange.c

=======================================
--- /lib/parser/handshake_messages/client_key_exchange.c Sun Aug 14
00:05:56 2011
+++ /lib/parser/handshake_messages/client_key_exchange.c Sun Aug 21
15:53:27 2011
@@ -24,6 +24,7 @@
{
sln_bucket_t *b = NULL;
size_t len = 0;
+ size_t dlen = 0;
size_t off = 0;

/* message type size */
@@ -33,16 +34,23 @@
len += 3;

/* pre master key size */
+ len += 2;
len += cke->pre_master_secret_length;

sln_bucket_create_empty(s->alloc, &b, len);

+ dlen = len - 4;
+
b->data[0] = SLN_HS_MT_CLIENT_KEY_EXCHANGE;
- b->data[1] = cke->pre_master_secret_length >> 16;
- b->data[2] = cke->pre_master_secret_length >> 8;
- b->data[3] = cke->pre_master_secret_length;
+ b->data[1] = dlen >> 16;
+ b->data[2] = dlen >> 8;
+ b->data[3] = dlen;
off = 4;

+ b->data[off] = cke->pre_master_secret_length >> 8;
+ b->data[off+1] = cke->pre_master_secret_length;
+ off += 2;
+
memcpy(b->data + off, cke->pre_master_secret,
cke->pre_master_secret_length);
off += cke->pre_master_secret_length;

Reply all
Reply to author
Forward
0 new messages