diff options
author | jsorg71 <jay.sorg@gmail.com> | 2014-03-04 14:11:02 -0800 |
---|---|---|
committer | jsorg71 <jay.sorg@gmail.com> | 2014-03-04 14:11:02 -0800 |
commit | 1ce75182afdf8a0fc5a44691dbada0fdc138d867 (patch) | |
tree | 5c6a169ac9707311c4a10e98215901846566a93f /libxrdp/libxrdp.c | |
parent | 60dbacc9ffd3b2a9f1f523ecb6426042764233ee (diff) | |
parent | 866fde498efe893144b0b596999f18af90a743c3 (diff) | |
download | xrdp-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.c | 13 |
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; } |