/[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 357 by forsberg, Fri Mar 28 12:55:25 2003 UTC revision 363 by matthewc, Wed Apr 16 08:03:59 2003 UTC
# Line 538  sec_parse_crypt_info(STREAM s, uint32 * Line 538  sec_parse_crypt_info(STREAM s, uint32 *
538                       uint8 ** server_random, uint8 ** modulus, uint8 ** exponent)                       uint8 ** server_random, uint8 ** modulus, uint8 ** exponent)
539  {  {
540          uint32 crypt_level, random_len, rsa_info_len;          uint32 crypt_level, random_len, rsa_info_len;
541          uint32 cacert_len, cert_len;          uint32 cacert_len, cert_len, flags;
542          X509 *cacert, *server_cert;          X509 *cacert, *server_cert;
543          uint16 tag, length;          uint16 tag, length;
544          uint8 *next_tag, *end;          uint8 *next_tag, *end;
# Line 563  sec_parse_crypt_info(STREAM s, uint32 * Line 563  sec_parse_crypt_info(STREAM s, uint32 *
563          if (end > s->end)          if (end > s->end)
564                  return False;                  return False;
565    
566          if (!use_rdp5 || 1 == server_rdp_version)          in_uint32_le(s, flags); /* 1 = RDP4-style, 0x80000002 = X.509 */
567            if (flags & 1)
568          {          {
569                  DEBUG_RDP5(("We're going for the RDP4-style encryption\n"));                  DEBUG_RDP5(("We're going for the RDP4-style encryption\n"));
570                  in_uint8s(s, 12);       /* unknown */                  in_uint8s(s, 8);        /* unknown */
571    
572                  while (s->p < end)                  while (s->p < end)
573                  {                  {
# Line 598  sec_parse_crypt_info(STREAM s, uint32 * Line 599  sec_parse_crypt_info(STREAM s, uint32 *
599                          s->p = next_tag;                          s->p = next_tag;
600                  }                  }
601          }          }
602          else if (4 == server_rdp_version)          else
603          {          {
604                  DEBUG_RDP5(("We're going for the RDP5-style encryption\n"));                  DEBUG_RDP5(("We're going for the RDP5-style encryption\n"));
605                  in_uint8s(s, 8);        /* Unknown */                  in_uint8s(s, 4);        /* Number of certificates */
606    
607                  /* Do da funky X.509 stuffy                  /* Do da funky X.509 stuffy
608    
# Line 653  sec_parse_crypt_info(STREAM s, uint32 * Line 654  sec_parse_crypt_info(STREAM s, uint32 *
654                  }                  }
655                  return True;    /* There's some garbage here we don't care about */                  return True;    /* There's some garbage here we don't care about */
656          }          }
         else  
         {  
                 error("Unknown Server RDP version %d", server_rdp_version);  
                 return False;  
         }  
657          return s_check_end(s);          return s_check_end(s);
658  }  }
659    

Legend:
Removed from v.357  
changed lines
  Added in v.363

  ViewVC Help
Powered by ViewVC 1.1.26