diff options
| author | Jay Sorg <jay.sorg@gmail.com> | 2013-01-06 23:56:40 -0800 |
|---|---|---|
| committer | Jay Sorg <jay.sorg@gmail.com> | 2013-01-06 23:56:40 -0800 |
| commit | eb4209e93263c1ff939d394ced134cd82d3ef1db (patch) | |
| tree | 1f54a0cdb441c2c6f774ae8fd927457a487873ff | |
| parent | b6fb3009542576c88973a99d5fb66bf91aa62bb0 (diff) | |
| download | xrdp-proprietary-eb4209e93263c1ff939d394ced134cd82d3ef1db.tar.gz xrdp-proprietary-eb4209e93263c1ff939d394ced134cd82d3ef1db.zip | |
libxrdp: added ini settings for bulk compressor
| -rw-r--r-- | common/xrdp_client_info.h | 1 | ||||
| -rw-r--r-- | libxrdp/xrdp_rdp.c | 9 | ||||
| -rw-r--r-- | libxrdp/xrdp_sec.c | 10 |
3 files changed, 19 insertions, 1 deletions
diff --git a/common/xrdp_client_info.h b/common/xrdp_client_info.h index 596177c4..a364927d 100644 --- a/common/xrdp_client_info.h +++ b/common/xrdp_client_info.h @@ -86,6 +86,7 @@ struct xrdp_client_info int jpeg_prop_len; char jpeg_prop[64]; int v3_codec_id; + int use_bulk_comp; }; #endif diff --git a/libxrdp/xrdp_rdp.c b/libxrdp/xrdp_rdp.c index 12490235..264f6096 100644 --- a/libxrdp/xrdp_rdp.c +++ b/libxrdp/xrdp_rdp.c @@ -103,6 +103,15 @@ xrdp_rdp_read_config(struct xrdp_client_info *client_info) client_info->use_bitmap_comp = 1; } } + else if (g_strcasecmp(item, "bulk_compression") == 0) + { + if (g_strcasecmp(value, "yes") == 0 || + g_strcasecmp(value, "true") == 0 || + g_strcasecmp(value, "1") == 0) + { + client_info->use_bulk_comp = 1; + } + } else if (g_strcasecmp(item, "crypt_level") == 0) { if (g_strcasecmp(value, "low") == 0) diff --git a/libxrdp/xrdp_sec.c b/libxrdp/xrdp_sec.c index 66b66264..17348274 100644 --- a/libxrdp/xrdp_sec.c +++ b/libxrdp/xrdp_sec.c @@ -385,8 +385,16 @@ xrdp_sec_process_logon_info(struct xrdp_sec *self, struct stream *s) if (flags & RDP_COMPRESSION) { - self->rdp_layer->client_info.rdp_compression = 1; DEBUG(("flag RDP_COMPRESSION found")); + if (self->rdp_layer->client_info.use_bulk_comp) + { + DEBUG(("flag RDP_COMPRESSION set")); + self->rdp_layer->client_info.rdp_compression = 1; + } + else + { + DEBUG(("flag RDP_COMPRESSION not set")); + } } in_uint16_le(s, len_domain); |
