From 04f809251c57a21d25929f932cafe3d0ddb647e6 Mon Sep 17 00:00:00 2001 From: jsorg71 Date: Tue, 27 Sep 2005 00:49:21 +0000 Subject: [PATCH] 8K max packet size for 8 bpp clients --- libxrdp/xrdp_orders.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libxrdp/xrdp_orders.c b/libxrdp/xrdp_orders.c index 6289858f..66ccae7c 100644 --- a/libxrdp/xrdp_orders.c +++ b/libxrdp/xrdp_orders.c @@ -163,10 +163,19 @@ static int APP_CC xrdp_orders_check(struct xrdp_orders* self, int max_size) { int size; + int max_packet_size; + if (self->rdp_layer->client_info.bpp == 8) + { + max_packet_size = 8000; + } + else + { + max_packet_size = 16000; + } if (self->order_level < 1) { - if (max_size > 16000) + if (max_size > max_packet_size) { return 1; } @@ -176,11 +185,11 @@ xrdp_orders_check(struct xrdp_orders* self, int max_size) } } size = self->out_s->p - self->order_count_ptr; - if (size < 0 || size > 16384) + if (size < 0 || size > max_packet_size) { return 1; } - if (size + max_size + 100 > 16000) + if (size + max_size + 100 > max_packet_size) { xrdp_orders_force_send(self); xrdp_orders_init(self);