diff options
author | speidy <speidy@gmail.com> | 2013-07-15 10:13:03 +0300 |
---|---|---|
committer | speidy <speidy@gmail.com> | 2013-07-15 10:13:03 +0300 |
commit | a8e5b3fee51604d68d8ecd36065396ba42c7be3f (patch) | |
tree | 297a0b4a64d6e53c55eee2f6e8e75b9ffa1afe24 /libxrdp/xrdp_iso.c | |
parent | aab0176867552516a8358463e875cf437887f31c (diff) | |
download | xrdp-proprietary-a8e5b3fee51604d68d8ecd36065396ba42c7be3f.tar.gz xrdp-proprietary-a8e5b3fee51604d68d8ecd36065396ba42c7be3f.zip |
libxrdp: work on multi-mon support
Diffstat (limited to 'libxrdp/xrdp_iso.c')
-rw-r--r-- | libxrdp/xrdp_iso.c | 18 |
1 files changed, 12 insertions, 6 deletions
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) |