summaryrefslogtreecommitdiffstats
path: root/libxrdp/libxrdp.c
diff options
context:
space:
mode:
authorjsorg71 <jay.sorg@gmail.com>2014-03-04 14:11:02 -0800
committerjsorg71 <jay.sorg@gmail.com>2014-03-04 14:11:02 -0800
commit1ce75182afdf8a0fc5a44691dbada0fdc138d867 (patch)
tree5c6a169ac9707311c4a10e98215901846566a93f /libxrdp/libxrdp.c
parent60dbacc9ffd3b2a9f1f523ecb6426042764233ee (diff)
parent866fde498efe893144b0b596999f18af90a743c3 (diff)
downloadxrdp-proprietary-1ce75182afdf8a0fc5a44691dbada0fdc138d867.tar.gz
xrdp-proprietary-1ce75182afdf8a0fc5a44691dbada0fdc138d867.zip
Merge pull request #111 from speidy/fastpath
libxrdp: Fastpath input
Diffstat (limited to 'libxrdp/libxrdp.c')
-rw-r--r--libxrdp/libxrdp.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/libxrdp/libxrdp.c b/libxrdp/libxrdp.c
index 7ab1f914..9d584244 100644
--- a/libxrdp/libxrdp.c
+++ b/libxrdp/libxrdp.c
@@ -29,6 +29,7 @@ libxrdp_init(tbus id, struct trans *trans)
session = (struct xrdp_session *)g_malloc(sizeof(struct xrdp_session), 1);
session->id = id;
+ session->trans = trans;
session->rdp = xrdp_rdp_create(session, trans);
session->orders = xrdp_orders_create(session, (struct xrdp_rdp *)session->rdp);
session->client_info = &(((struct xrdp_rdp *)session->rdp)->client_info);
@@ -143,17 +144,23 @@ libxrdp_process_data(struct xrdp_session *session, struct stream *s)
xrdp_rdp_process_confirm_active(rdp, s);
break;
case RDP_PDU_DATA: /* 7 */
-
if (xrdp_rdp_process_data(rdp, s) != 0)
{
DEBUG(("libxrdp_process_data returned non zero"));
cont = 0;
term = 1;
}
-
+ break;
+ case 2: /* FASTPATH_INPUT_EVENT */
+ if (xrdp_fastpath_process_input_event(rdp->sec_layer->fastpath_layer, s) != 0)
+ {
+ DEBUG(("libxrdp_process_data returned non zero"));
+ cont = 0;
+ term = 1;
+ }
break;
default:
- g_writeln("unknown in libxrdp_process_data");
+ g_writeln("unknown in libxrdp_process_data: code= %d", code);
dead_lock_counter++;
break;
}