/[rdesktop]/sourceforge.net/trunk/rdesktop/secure.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/trunk/rdesktop/secure.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 699 by matthewc, Sun May 16 11:18:20 2004 UTC revision 710 by jsorg71, Tue Jun 15 22:17:08 2004 UTC
# Line 33  Line 33 
33  #include "crypto/bn.h"  #include "crypto/bn.h"
34  #endif  #endif
35    
36  extern char hostname[16];  extern char g_hostname[16];
37  extern int g_width;  extern int g_width;
38  extern int g_height;  extern int g_height;
39  extern int keylayout;  extern int g_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;
# Line 134  sec_generate_keys(uint8 * client_random, Line 134  sec_generate_keys(uint8 * client_random,
134          uint8 key_block[48];          uint8 key_block[48];
135    
136          /* Construct pre-master secret */          /* Construct pre-master secret */
137          memcpy(pre_master_secret,      client_random, 24);          memcpy(pre_master_secret, client_random, 24);
138          memcpy(pre_master_secret + 24, server_random, 24);          memcpy(pre_master_secret + 24, server_random, 24);
139    
140          /* Generate master secret and then key material */          /* Generate master secret and then key material */
141          sec_hash_48(master_secret, pre_master_secret, client_random, server_random, 'A');          sec_hash_48(master_secret, pre_master_secret, client_random, server_random, 'A');
142          sec_hash_48(key_block,     master_secret,     client_random, server_random, 'X');          sec_hash_48(key_block, master_secret, client_random, server_random, 'X');
143    
144          /* First 16 bytes of key material is MAC secret */          /* First 16 bytes of key material is MAC secret */
145          memcpy(sec_sign_key, key_block, 16);          memcpy(sec_sign_key, key_block, 16);
# Line 410  sec_establish_key(void) Line 410  sec_establish_key(void)
410  static void  static void
411  sec_out_mcs_data(STREAM s)  sec_out_mcs_data(STREAM s)
412  {  {
413          int hostlen = 2 * strlen(hostname);          int hostlen = 2 * strlen(g_hostname);
414          int length = 158 + 76 + 12 + 4;          int length = 158 + 76 + 12 + 4;
415          unsigned int i;          unsigned int i;
416    
# Line 446  sec_out_mcs_data(STREAM s) Line 446  sec_out_mcs_data(STREAM s)
446          out_uint16_le(s, g_height);          out_uint16_le(s, g_height);
447          out_uint16_le(s, 0xca01);          out_uint16_le(s, 0xca01);
448          out_uint16_le(s, 0xaa03);          out_uint16_le(s, 0xaa03);
449          out_uint32_le(s, keylayout);          out_uint32_le(s, g_keylayout);
450          out_uint32_le(s, 2600); /* Client build. We are now 2600 compatible :-) */          out_uint32_le(s, 2600); /* Client build. We are now 2600 compatible :-) */
451    
452          /* Unicode name of client, padded to 32 bytes */          /* Unicode name of client, padded to 32 bytes */
453          rdp_out_unistr(s, hostname, hostlen);          rdp_out_unistr(s, g_hostname, hostlen);
454          out_uint8s(s, 30 - hostlen);          out_uint8s(s, 30 - hostlen);
455    
456          out_uint32_le(s, 4);          out_uint32_le(s, 4);

Legend:
Removed from v.699  
changed lines
  Added in v.710

  ViewVC Help
Powered by ViewVC 1.1.26