From 4cae44ce3b3acd2cdc19332f49ec54bae5a77d98 Mon Sep 17 00:00:00 2001 From: Jay Sorg Date: Sun, 9 Mar 2014 21:07:08 -0700 Subject: [PATCH] libxrdp: keep rdp packets < 16K --- libxrdp/xrdp_mcs.c | 2 +- libxrdp/xrdp_orders.c | 2 +- libxrdp/xrdp_rdp.c | 3 +-- libxrdp/xrdp_sec.c | 1 + 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libxrdp/xrdp_mcs.c b/libxrdp/xrdp_mcs.c index a9e8d7b5..ba5ea73e 100644 --- a/libxrdp/xrdp_mcs.c +++ b/libxrdp/xrdp_mcs.c @@ -876,7 +876,7 @@ xrdp_mcs_send(struct xrdp_mcs *self, struct stream *s, int chan) if (len > 8192 * 2) { - g_writeln("error in xrdp_mcs_send, size too bog, its %d", len); + g_writeln("error in xrdp_mcs_send, size too big, its %d", len); } //if (len > max_len) diff --git a/libxrdp/xrdp_orders.c b/libxrdp/xrdp_orders.c index fd96e2a4..57e16dad 100644 --- a/libxrdp/xrdp_orders.c +++ b/libxrdp/xrdp_orders.c @@ -34,7 +34,7 @@ } \ } -#define MAX_ORDERS_SIZE (16 * 1024 + 512) +#define MAX_ORDERS_SIZE (16 * 1024 - 256) /*****************************************************************************/ struct xrdp_orders *APP_CC diff --git a/libxrdp/xrdp_rdp.c b/libxrdp/xrdp_rdp.c index 04fdecc0..8e778520 100644 --- a/libxrdp/xrdp_rdp.c +++ b/libxrdp/xrdp_rdp.c @@ -32,7 +32,7 @@ #define LLOGLN(_level, _args) \ do { if (_level < LOG_LEVEL) { g_writeln _args ; } } while (0) -#define FASTPATH_FRAG_SIZE (16 * 1024 + 1024) +#define FASTPATH_FRAG_SIZE (16 * 1024 - 128) /*****************************************************************************/ static int APP_CC @@ -587,7 +587,6 @@ xrdp_rdp_send_fastpath(struct xrdp_rdp *self, struct stream *s, fragmentation = 1; /* FASTPATH_FRAGMENT_LAST */ } } - len = MIN(len, 32 * 1024); LLOGLN(10, ("xrdp_rdp_send_fastpath: len %d fragmentation %d", len, fragmentation)); updateHeader = (updateCode & 15) | diff --git a/libxrdp/xrdp_sec.c b/libxrdp/xrdp_sec.c index 5e4e8800..daad50f7 100644 --- a/libxrdp/xrdp_sec.c +++ b/libxrdp/xrdp_sec.c @@ -950,6 +950,7 @@ xrdp_sec_establish_keys(struct xrdp_sec *self) ssl_rc4_set_key(self->decrypt_rc4_info, self->decrypt_key, self->rc4_key_len); ssl_rc4_set_key(self->encrypt_rc4_info, self->encrypt_key, self->rc4_key_len); } + /*****************************************************************************/ /* returns error */ int APP_CC