|
|
@ -506,8 +506,6 @@ static int APP_CC
|
|
|
|
rdp_rdp_process_pointer_pdu(struct rdp_rdp *self, struct stream *s)
|
|
|
|
rdp_rdp_process_pointer_pdu(struct rdp_rdp *self, struct stream *s)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int message_type;
|
|
|
|
int message_type;
|
|
|
|
int x;
|
|
|
|
|
|
|
|
int y;
|
|
|
|
|
|
|
|
int rv;
|
|
|
|
int rv;
|
|
|
|
|
|
|
|
|
|
|
|
rv = 0;
|
|
|
|
rv = 0;
|
|
|
@ -517,8 +515,8 @@ rdp_rdp_process_pointer_pdu(struct rdp_rdp *self, struct stream *s)
|
|
|
|
switch (message_type)
|
|
|
|
switch (message_type)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case RDP_POINTER_MOVE:
|
|
|
|
case RDP_POINTER_MOVE:
|
|
|
|
in_uint16_le(s, x);
|
|
|
|
in_uint8s(s, 2); /* x */
|
|
|
|
in_uint16_le(s, y);
|
|
|
|
in_uint8s(s, 2); /* y */
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case RDP_POINTER_COLOR:
|
|
|
|
case RDP_POINTER_COLOR:
|
|
|
|
rv = rdp_rdp_process_color_pointer_pdu(self, s);
|
|
|
|
rv = rdp_rdp_process_color_pointer_pdu(self, s);
|
|
|
@ -934,15 +932,13 @@ int APP_CC
|
|
|
|
rdp_rdp_process_data_pdu(struct rdp_rdp *self, struct stream *s)
|
|
|
|
rdp_rdp_process_data_pdu(struct rdp_rdp *self, struct stream *s)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int data_pdu_type;
|
|
|
|
int data_pdu_type;
|
|
|
|
int ctype;
|
|
|
|
|
|
|
|
int len;
|
|
|
|
|
|
|
|
int rv;
|
|
|
|
int rv;
|
|
|
|
|
|
|
|
|
|
|
|
rv = 0;
|
|
|
|
rv = 0;
|
|
|
|
in_uint8s(s, 6); /* shareid, pad, streamid */
|
|
|
|
in_uint8s(s, 6); /* shareid, pad, streamid */
|
|
|
|
in_uint16_le(s, len);
|
|
|
|
in_uint8s(s, 2); /* len */
|
|
|
|
in_uint8(s, data_pdu_type);
|
|
|
|
in_uint8(s, data_pdu_type);
|
|
|
|
in_uint8(s, ctype);
|
|
|
|
in_uint8s(s, 1); /* ctype */
|
|
|
|
in_uint8s(s, 2); /* clen */
|
|
|
|
in_uint8s(s, 2); /* clen */
|
|
|
|
|
|
|
|
|
|
|
|
switch (data_pdu_type)
|
|
|
|
switch (data_pdu_type)
|
|
|
@ -983,14 +979,12 @@ rdp_rdp_process_general_caps(struct rdp_rdp *self, struct stream *s)
|
|
|
|
static void APP_CC
|
|
|
|
static void APP_CC
|
|
|
|
rdp_rdp_process_bitmap_caps(struct rdp_rdp *self, struct stream *s)
|
|
|
|
rdp_rdp_process_bitmap_caps(struct rdp_rdp *self, struct stream *s)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int width = 0;
|
|
|
|
|
|
|
|
int height = 0;
|
|
|
|
|
|
|
|
int bpp = 0;
|
|
|
|
int bpp = 0;
|
|
|
|
|
|
|
|
|
|
|
|
in_uint16_le(s, bpp);
|
|
|
|
in_uint16_le(s, bpp);
|
|
|
|
in_uint8s(s, 6);
|
|
|
|
in_uint8s(s, 6);
|
|
|
|
in_uint16_le(s, width);
|
|
|
|
in_uint8s(s, 2); /* width */
|
|
|
|
in_uint16_le(s, height);
|
|
|
|
in_uint8s(s, 2); /* height */
|
|
|
|
self->mod->rdp_bpp = bpp;
|
|
|
|
self->mod->rdp_bpp = bpp;
|
|
|
|
/* todo, call reset if needed and use width and height */
|
|
|
|
/* todo, call reset if needed and use width and height */
|
|
|
|
}
|
|
|
|
}
|
|
|
|