X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=secure.c;h=f32a081ebd893b4a24483213829d7e6ad9aca77a;hp=724ff189bdc6e46518b07cfdd8b154ee827d3cc5;hb=7bea59be496181e0a9968cbaa1640e5a935a8cea;hpb=e0d6c6eb80e1c3ce8c95954002bb3c6642681758 diff --git a/secure.c b/secure.c index 724ff18..f32a081 100644 --- a/secure.c +++ b/secure.c @@ -343,7 +343,7 @@ sec_send_to_channel(STREAM s, uint32 flags, uint16 channel) { int datalen; - DEBUG(("sending packet to channel %u", channel)); +// DEBUG(("sending packet to channel %u\n", channel)); s_pop_layer(s, sec_hdr); // if (!g_licence_issued || (flags & SEC_ENCRYPT)) @@ -747,6 +747,21 @@ sec_recv(void) printf("Received logon packet!\n"); rdp_get_logon_info(s); } + + if (sec_flags & SEC_CLIENT_RANDOM) { + uint32 length; + + printf("Receiving the client random!\n"); + in_uint32_le(s, length); + if (length != SEC_MODULUS_SIZE + SEC_PADDING_SIZE) { + error("Client random was wrong size, %u bytes\n", length); + } + in_uint8a(s, sec_crypted_random, SEC_MODULUS_SIZE); + in_uint8s(s, SEC_PADDING_SIZE); + if (!s_check_end(s)) { + error("Junk after client random\n"); + } + } } printf("Received MCS data on ch %u\n", channel);