diff options
author | speidy <speidy@gmail.com> | 2014-02-08 20:55:41 +0200 |
---|---|---|
committer | speidy <speidy@gmail.com> | 2014-02-08 20:55:41 +0200 |
commit | 9a98299e2b3bb0c3e4f047efa4ad8f8450656dda (patch) | |
tree | 974bd50a67eb278da4f438c3f3fd4b27b920cad2 /libxrdp/xrdp_sec.c | |
parent | 113f2696fe4103474cb2703e3d2f8848304fdd3d (diff) | |
download | xrdp-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.c | 14 |
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; } |