/[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 540 by astrand, Fri Oct 31 20:34:26 2003 UTC revision 604 by stargo, Sat Feb 14 19:30:01 2004 UTC
# Line 18  Line 18 
18     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19  */  */
20    
21    #include <time.h>
22  #include "rdesktop.h"  #include "rdesktop.h"
23    
24  extern uint16 g_mcs_userid;  extern uint16 g_mcs_userid;
# Line 131  rdp_out_unistr(STREAM s, char *string, i Line 132  rdp_out_unistr(STREAM s, char *string, i
132          s->p += len;          s->p += len;
133  }  }
134    
135    /* Input a string in Unicode
136     *
137     * Returns str_len of string
138     */
139    int
140    rdp_in_unistr(STREAM s, char *string, int uni_len)
141    {
142            int i = 0;
143    
144            while (i < uni_len / 2)
145            {
146                    in_uint8a(s, &string[i++], 1);
147                    in_uint8s(s, 1);
148            }
149    
150            return i - 1;
151    }
152    
153    
154  /* Parse a logon info packet */  /* Parse a logon info packet */
155  static void  static void
156  rdp_send_logon_info(uint32 flags, char *domain, char *user,  rdp_send_logon_info(uint32 flags, char *domain, char *user,
# Line 146  rdp_send_logon_info(uint32 flags, char * Line 166  rdp_send_logon_info(uint32 flags, char *
166          int packetlen = 0;          int packetlen = 0;
167          uint32 sec_flags = g_encryption ? (SEC_LOGON_INFO | SEC_ENCRYPT) : SEC_LOGON_INFO;          uint32 sec_flags = g_encryption ? (SEC_LOGON_INFO | SEC_ENCRYPT) : SEC_LOGON_INFO;
168          STREAM s;          STREAM s;
169            time_t t = time(NULL);
170            time_t tzone;
171    
172          if (!g_use_rdp5 || 1 == g_server_rdp_version)          if (!g_use_rdp5 || 1 == g_server_rdp_version)
173          {          {
# Line 247  rdp_send_logon_info(uint32 flags, char * Line 269  rdp_send_logon_info(uint32 flags, char *
269                  rdp_out_unistr(s, "127.0.0.1", len_ip);                  rdp_out_unistr(s, "127.0.0.1", len_ip);
270                  out_uint16_le(s, len_dll + 2);                  out_uint16_le(s, len_dll + 2);
271                  rdp_out_unistr(s, "C:\\WINNT\\System32\\mstscax.dll", len_dll);                  rdp_out_unistr(s, "C:\\WINNT\\System32\\mstscax.dll", len_dll);
272                  out_uint16_le(s, 0xffc4);  
273                  out_uint16_le(s, 0xffff);                  tzone = (mktime(gmtime(&t)) - mktime(localtime(&t))) / 60;
274                    out_uint32_le(s, tzone);
275    
276                  rdp_out_unistr(s, "GTB, normaltid", 2 * strlen("GTB, normaltid"));                  rdp_out_unistr(s, "GTB, normaltid", 2 * strlen("GTB, normaltid"));
277                  out_uint8s(s, 62 - 2 * strlen("GTB, normaltid"));                  out_uint8s(s, 62 - 2 * strlen("GTB, normaltid"));
278    
# Line 600  process_demand_active(STREAM s) Line 624  process_demand_active(STREAM s)
624          rdp_recv(&type);        /* RDP_PDU_SYNCHRONIZE */          rdp_recv(&type);        /* RDP_PDU_SYNCHRONIZE */
625          rdp_recv(&type);        /* RDP_CTL_COOPERATE */          rdp_recv(&type);        /* RDP_CTL_COOPERATE */
626          rdp_recv(&type);        /* RDP_CTL_GRANT_CONTROL */          rdp_recv(&type);        /* RDP_CTL_GRANT_CONTROL */
627          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);
628          rdp_send_fonts(1);          rdp_send_fonts(1);
629          rdp_send_fonts(2);          rdp_send_fonts(2);
630          rdp_recv(&type);        /* RDP_PDU_UNKNOWN 0x28 */          rdp_recv(&type);        /* RDP_PDU_UNKNOWN 0x28 */

Legend:
Removed from v.540  
changed lines
  Added in v.604

  ViewVC Help
Powered by ViewVC 1.1.26