summaryrefslogtreecommitdiffstats
path: root/libxrdp/xrdp_sec.c
diff options
context:
space:
mode:
authorspeidy <speidy@gmail.com>2014-02-08 20:55:41 +0200
committerspeidy <speidy@gmail.com>2014-02-08 20:55:41 +0200
commit9a98299e2b3bb0c3e4f047efa4ad8f8450656dda (patch)
tree974bd50a67eb278da4f438c3f3fd4b27b920cad2 /libxrdp/xrdp_sec.c
parent113f2696fe4103474cb2703e3d2f8848304fdd3d (diff)
downloadxrdp-proprietary-9a98299e2b3bb0c3e4f047efa4ad8f8450656dda.tar.gz
xrdp-proprietary-9a98299e2b3bb0c3e4f047efa4ad8f8450656dda.zip
libxrdp: work on fastpath
Diffstat (limited to 'libxrdp/xrdp_sec.c')
-rw-r--r--libxrdp/xrdp_sec.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/libxrdp/xrdp_sec.c b/libxrdp/xrdp_sec.c
index 38ee93f3..40fedb85 100644
--- a/libxrdp/xrdp_sec.c
+++ b/libxrdp/xrdp_sec.c
@@ -740,12 +740,22 @@ xrdp_sec_recv(struct xrdp_sec *self, struct stream *s, int *chan)
{
int flags;
int len;
+ int mcs_msg;
DEBUG((" in xrdp_sec_recv"));
- if (xrdp_mcs_recv(self->mcs_layer, s, chan) != 0)
+ mcs_msg = xrdp_mcs_recv(self->mcs_layer, s, chan);
+
+ if (mcs_msg == 2)
+ {
+ DEBUG((" out xrdp_sec_recv : non-TPKT msg detected, we try fastpath"));
+// xrdp_sec_recv_fastpath(self->mcs_layer->iso_layer, s);
+ return mcs_msg;
+ }
+
+ if (mcs_msg == 1)
{
- DEBUG((" out xrdp_sec_recv error"));
+ DEBUG((" out xrdp_sec_recv : error"));
return 1;
}