/[rdesktop]/sourceforge.net/trunk/rdesktop/rdp.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/rdp.c

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

revision 522 by matthewc, Wed Oct 29 04:18:00 2003 UTC revision 543 by astrand, Mon Nov 3 13:33:35 2003 UTC
# Line 171  rdp_send_logon_info(uint32 flags, char * Line 171  rdp_send_logon_info(uint32 flags, char *
171          {          {
172                  flags |= RDP_LOGON_BLOB;                  flags |= RDP_LOGON_BLOB;
173                  DEBUG_RDP5(("Sending RDP5-style Logon packet\n"));                  DEBUG_RDP5(("Sending RDP5-style Logon packet\n"));
174                  packetlen = 4 + // Unknown uint32                  packetlen = 4 + /* Unknown uint32 */
175                          4 +     // flags                          4 +     /* flags */
176                          2 +     // len_domain                          2 +     /* len_domain */
177                          2 +     // len_user                          2 +     /* len_user */
178                          (flags & RDP_LOGON_AUTO ? 2 : 0) +      // len_password                          (flags & RDP_LOGON_AUTO ? 2 : 0) +      /* len_password */
179                          (flags & RDP_LOGON_BLOB ? 2 : 0) +      // Length of BLOB                          (flags & RDP_LOGON_BLOB ? 2 : 0) +      /* Length of BLOB */
180                          2 +     // len_program                          2 +     /* len_program */
181                          2 +     // len_directory                          2 +     /* len_directory */
182                          (0 < len_domain ? len_domain : 2) +     // domain                          (0 < len_domain ? len_domain : 2) +     /* domain */
183                          len_user + (flags & RDP_LOGON_AUTO ? len_password : 0) + 0 +    // We have no 512 byte BLOB. Perhaps we must?                          len_user + (flags & RDP_LOGON_AUTO ? len_password : 0) + 0 +    /* We have no 512 byte BLOB. Perhaps we must? */
184                          (flags & RDP_LOGON_BLOB && !(flags & RDP_LOGON_AUTO) ? 2 : 0) + // After the BLOB is a unknown int16. If there is a BLOB, that is.                          (flags & RDP_LOGON_BLOB && !(flags & RDP_LOGON_AUTO) ? 2 : 0) + /* After the BLOB is a unknown int16. If there is a BLOB, that is. */
185                          (0 < len_program ? len_program : 2) + (0 < len_directory ? len_directory : 2) + 2 +     // Unknown (2)                          (0 < len_program ? len_program : 2) + (0 < len_directory ? len_directory : 2) + 2 +     /* Unknown (2) */
186                          2 +     // Client ip length                          2 +     /* Client ip length */
187                          len_ip +        // Client ip                          len_ip +        /* Client ip */
188                          2 +     // DLL string length                          2 +     /* DLL string length */
189                          len_dll +       // DLL string                          len_dll +       /* DLL string */
190                          2 +     // Unknown                          2 +     /* Unknown */
191                          2 +     // Unknown                          2 +     /* Unknown */
192                          64 +    // Time zone #0                          64 +    /* Time zone #0 */
193                          2 +     // Unknown                          2 +     /* Unknown */
194                          64 +    // Time zone #1                          64 +    /* Time zone #1 */
195                          32;     // Unknown                          32;     /* Unknown */
196    
197                  s = sec_init(sec_flags, packetlen);                  s = sec_init(sec_flags, packetlen);
198                  DEBUG_RDP5(("Called sec_init with packetlen %d\n", packetlen));                  DEBUG_RDP5(("Called sec_init with packetlen %d\n", packetlen));
199    
200                  out_uint32(s, 0);       // Unknown                  out_uint32(s, 0);       /* Unknown */
201                  out_uint32_le(s, flags);                  out_uint32_le(s, flags);
202                  out_uint16_le(s, len_domain);                  out_uint16_le(s, len_domain);
203                  out_uint16_le(s, len_user);                  out_uint16_le(s, len_user);
# Line 243  rdp_send_logon_info(uint32 flags, char * Line 243  rdp_send_logon_info(uint32 flags, char *
243                          out_uint16_le(s, 0);                          out_uint16_le(s, 0);
244                  }                  }
245                  out_uint16_le(s, 2);                  out_uint16_le(s, 2);
246                  out_uint16_le(s, len_ip + 2);   // Length of client ip                  out_uint16_le(s, len_ip + 2);   /* Length of client ip */
247                  rdp_out_unistr(s, "127.0.0.1", len_ip);                  rdp_out_unistr(s, "127.0.0.1", len_ip);
248                  out_uint16_le(s, len_dll + 2);                  out_uint16_le(s, len_dll + 2);
249                  rdp_out_unistr(s, "C:\\WINNT\\System32\\mstscax.dll", len_dll);                  rdp_out_unistr(s, "C:\\WINNT\\System32\\mstscax.dll", len_dll);
# Line 600  process_demand_active(STREAM s) Line 600  process_demand_active(STREAM s)
600          rdp_recv(&type);        /* RDP_PDU_SYNCHRONIZE */          rdp_recv(&type);        /* RDP_PDU_SYNCHRONIZE */
601          rdp_recv(&type);        /* RDP_CTL_COOPERATE */          rdp_recv(&type);        /* RDP_CTL_COOPERATE */
602          rdp_recv(&type);        /* RDP_CTL_GRANT_CONTROL */          rdp_recv(&type);        /* RDP_CTL_GRANT_CONTROL */
603          rdp_send_input(0, RDP_INPUT_SYNCHRONIZE, 0, 0, 0);          rdp_send_input(0, RDP_INPUT_SYNCHRONIZE, 0, ui_get_numlock_state(read_keyboard_state()), 0);
604          rdp_send_fonts(1);          rdp_send_fonts(1);
605          rdp_send_fonts(2);          rdp_send_fonts(2);
606          rdp_recv(&type);        /* RDP_PDU_UNKNOWN 0x28 */          rdp_recv(&type);        /* RDP_PDU_UNKNOWN 0x28 */
# Line 725  process_bitmap_updates(STREAM s) Line 725  process_bitmap_updates(STREAM s)
725                         left, top, right, bottom, width, height, Bpp, compress));                         left, top, right, bottom, width, height, Bpp, compress));
726    
727                  /* Server may limit bpp - this is how we find out */                  /* Server may limit bpp - this is how we find out */
728                  if (g_server_bpp != bpp) {                  if (g_server_bpp != bpp)
729                    {
730                          warning("Server limited colour depth to %d bits\n", bpp);                          warning("Server limited colour depth to %d bits\n", bpp);
731                          g_server_bpp = bpp;                          g_server_bpp = bpp;
732                  }                  }

Legend:
Removed from v.522  
changed lines
  Added in v.543

  ViewVC Help
Powered by ViewVC 1.1.26