libxrdp: caps, group caps require fastpath output, use FASTPATH_OUTPUT_SUPPORTED constant

This commit is contained in:
speidy 2016-12-13 15:05:39 -05:00
parent d6a470e973
commit 5e39bb1f87
2 changed files with 11 additions and 10 deletions

View File

@ -283,6 +283,9 @@
#define RDP_CAPSET_VIRCHAN 20 #define RDP_CAPSET_VIRCHAN 20
#define RDP_CAPLEN_VIRCHAN 0x08 #define RDP_CAPLEN_VIRCHAN 0x08
#define RDP_CAPSET_MULTIFRAGMENT 0x001A
#define RDP_CAPLEN_MULTIFRAGMENT 0x08
#define RDP_SOURCE "MSTSC" #define RDP_SOURCE "MSTSC"
/* Logon flags */ /* Logon flags */

View File

@ -926,13 +926,13 @@ xrdp_caps_send_demand_active(struct xrdp_rdp *self)
out_uint16_le(s, 5); out_uint16_le(s, 5);
out_uint8(s, 0); /* client sets */ out_uint8(s, 0); /* client sets */
if (self->client_info.use_fast_path & 1) /* fastpath output on */ if (self->client_info.use_fast_path & FASTPATH_OUTPUT_SUPPORTED) /* fastpath output on */
{ {
/* multifragment update */
caps_count++; caps_count++;
out_uint16_le(s, 0x001A); /* 26 CAPSETTYPE_MULTIFRAGMENTUPDATE */ out_uint16_le(s, 0x001A); /* 26 CAPSETTYPE_MULTIFRAGMENTUPDATE */
out_uint16_le(s, 8); out_uint16_le(s, 8);
out_uint32_le(s, 3 * 1024 * 1024); /* 3MB */ out_uint32_le(s, 3 * 1024 * 1024); /* 3MB */
}
/* frame acks */ /* frame acks */
caps_count++; caps_count++;
@ -941,8 +941,6 @@ xrdp_caps_send_demand_active(struct xrdp_rdp *self)
out_uint32_le(s, 2); /* 2 frames in flight */ out_uint32_le(s, 2); /* 2 frames in flight */
/* surface commands */ /* surface commands */
if (self->client_info.use_fast_path & 1) /* surface commands require fastpath output */
{
caps_count++; caps_count++;
out_uint16_le(s, RDP_CAPSET_SURFCMDS); /* CAPSETTYPE_SURFACE_COMMANDS */ out_uint16_le(s, RDP_CAPSET_SURFCMDS); /* CAPSETTYPE_SURFACE_COMMANDS */
out_uint16_le(s, RDP_CAPLEN_SURFCMDS); /* lengthCapability */ out_uint16_le(s, RDP_CAPLEN_SURFCMDS); /* lengthCapability */