384 |
sec_out_mcs_data(STREAM s) |
sec_out_mcs_data(STREAM s) |
385 |
{ |
{ |
386 |
int hostlen = 2 * strlen(hostname); |
int hostlen = 2 * strlen(hostname); |
387 |
|
|
388 |
|
if (hostlen > 30) |
389 |
|
hostlen = 30; |
390 |
|
|
391 |
out_uint16_be(s, 5); /* unknown */ |
out_uint16_be(s, 5); /* unknown */ |
392 |
out_uint16_be(s, 0x14); |
out_uint16_be(s, 0x14); |
474 |
|
|
475 |
in_uint32_le(s, *rc4_key_size); /* 1 = 40-bit, 2 = 128-bit */ |
in_uint32_le(s, *rc4_key_size); /* 1 = 40-bit, 2 = 128-bit */ |
476 |
in_uint32_le(s, crypt_level); /* 1 = low, 2 = medium, 3 = high */ |
in_uint32_le(s, crypt_level); /* 1 = low, 2 = medium, 3 = high */ |
477 |
|
if (crypt_level == 0) /* no encryptation */ |
478 |
|
return False; |
479 |
in_uint32_le(s, random_len); |
in_uint32_le(s, random_len); |
480 |
in_uint32_le(s, rsa_info_len); |
in_uint32_le(s, rsa_info_len); |
481 |
|
|
547 |
{ |
{ |
548 |
uint16 tag, length; |
uint16 tag, length; |
549 |
uint8 *next_tag; |
uint8 *next_tag; |
550 |
|
uint8 len; |
551 |
|
|
552 |
in_uint8s(s, 23); /* header */ |
in_uint8s(s, 21); /* header */ |
553 |
|
in_uint8(s, len); |
554 |
|
if (len & 0x80) |
555 |
|
in_uint8(s, len); |
556 |
|
|
557 |
while (s->p < s->end) |
while (s->p < s->end) |
558 |
{ |
{ |