34 |
#endif |
#endif |
35 |
|
|
36 |
extern char hostname[16]; |
extern char hostname[16]; |
37 |
extern int width; |
extern int g_width; |
38 |
extern int height; |
extern int g_height; |
39 |
extern int keylayout; |
extern int keylayout; |
40 |
extern BOOL g_encryption; |
extern BOOL g_encryption; |
41 |
extern BOOL g_licence_issued; |
extern BOOL g_licence_issued; |
42 |
extern BOOL g_use_rdp5; |
extern BOOL g_use_rdp5; |
43 |
|
extern BOOL g_console_session; |
44 |
extern int g_server_bpp; |
extern int g_server_bpp; |
45 |
extern uint16 mcs_userid; |
extern uint16 mcs_userid; |
46 |
extern VCHANNEL g_channels[]; |
extern VCHANNEL g_channels[]; |
433 |
out_uint16_le(s, 212); /* length */ |
out_uint16_le(s, 212); /* length */ |
434 |
out_uint16_le(s, g_use_rdp5 ? 4 : 1); /* RDP version. 1 == RDP4, 4 == RDP5. */ |
out_uint16_le(s, g_use_rdp5 ? 4 : 1); /* RDP version. 1 == RDP4, 4 == RDP5. */ |
435 |
out_uint16_le(s, 8); |
out_uint16_le(s, 8); |
436 |
out_uint16_le(s, width); |
out_uint16_le(s, g_width); |
437 |
out_uint16_le(s, height); |
out_uint16_le(s, g_height); |
438 |
out_uint16_le(s, 0xca01); |
out_uint16_le(s, 0xca01); |
439 |
out_uint16_le(s, 0xaa03); |
out_uint16_le(s, 0xaa03); |
440 |
out_uint32_le(s, keylayout); |
out_uint32_le(s, keylayout); |
475 |
|
|
476 |
out_uint16_le(s, SEC_TAG_CLI_4); |
out_uint16_le(s, SEC_TAG_CLI_4); |
477 |
out_uint16_le(s, 12); |
out_uint16_le(s, 12); |
478 |
out_uint32_le(s, 9); |
out_uint32_le(s, g_console_session ? 0xb : 9); |
479 |
out_uint32(s, 0); |
out_uint32(s, 0); |
480 |
|
|
481 |
/* Client encryption settings */ |
/* Client encryption settings */ |
700 |
|
|
701 |
DEBUG(("Generating client random\n")); |
DEBUG(("Generating client random\n")); |
702 |
/* Generate a client random, and hence determine encryption keys */ |
/* Generate a client random, and hence determine encryption keys */ |
703 |
// This is what the MS client do: |
/* This is what the MS client do: */ |
704 |
memset(inr, 0, SEC_RANDOM_SIZE); |
memset(inr, 0, SEC_RANDOM_SIZE); |
705 |
/* *ARIGL!* Plaintext attack, anyone? |
/* *ARIGL!* Plaintext attack, anyone? |
706 |
I tried doing: |
I tried doing: |
844 |
if (!mcs_connect(server, &mcs_data, username)) |
if (!mcs_connect(server, &mcs_data, username)) |
845 |
return False; |
return False; |
846 |
|
|
847 |
// sec_process_mcs_data(&mcs_data); |
/* sec_process_mcs_data(&mcs_data); */ |
848 |
if (g_encryption) |
if (g_encryption) |
849 |
sec_establish_key(); |
sec_establish_key(); |
850 |
xfree(mcs_data.data); |
xfree(mcs_data.data); |