From a8e5b3fee51604d68d8ecd36065396ba42c7be3f Mon Sep 17 00:00:00 2001 From: speidy Date: Mon, 15 Jul 2013 10:13:03 +0300 Subject: libxrdp: work on multi-mon support --- libxrdp/xrdp_iso.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'libxrdp/xrdp_iso.c') diff --git a/libxrdp/xrdp_iso.c b/libxrdp/xrdp_iso.c index d851c1bb..04186ea9 100644 --- a/libxrdp/xrdp_iso.c +++ b/libxrdp/xrdp_iso.c @@ -86,7 +86,7 @@ xrdp_iso_recv_msg(struct xrdp_iso *self, struct stream *s, int *code) } else { - in_uint8s(s, 5); + in_uint8s(s, 13); } return 0; @@ -126,14 +126,20 @@ xrdp_iso_send_msg(struct xrdp_iso *self, struct stream *s, int code) return 1; } - out_uint8(s, 3); - out_uint8(s, 0); - out_uint16_be(s, 11); /* length */ - out_uint8(s, 6); + /* TPKT HEADER */ + out_uint8(s, 3); /* version */ + out_uint8(s, 0); /* RESERVED */ + out_uint16_be(s, 19); /* length */ + /* ISO LAYER */ + out_uint8(s, 14); /* length */ out_uint8(s, code); out_uint16_le(s, 0); - out_uint16_le(s, 0); + out_uint16_le(s, 4660); out_uint8(s, 0); + out_uint8(s, 2); /* TYPE_RDP_NEG_RSP */ + out_uint8(s, 1); /* flags */ + out_uint16_le(s, 8); /* length */ + out_uint32_le(s, 0); /* selectedProtocol: 0 = RDP , 1 = TLS , 2 = CREDSSP */ s_mark_end(s); if (xrdp_tcp_send(self->tcp_layer, s) != 0) -- cgit v1.2.1