|
|
@ -105,10 +105,21 @@ xrdp_channel_send(struct xrdp_channel *self, struct stream *s, int channel_id,
|
|
|
|
s_pop_layer(s, channel_hdr);
|
|
|
|
s_pop_layer(s, channel_hdr);
|
|
|
|
out_uint32_le(s, total_data_len);
|
|
|
|
out_uint32_le(s, total_data_len);
|
|
|
|
|
|
|
|
|
|
|
|
if (channel->flags & XR_CHANNEL_OPTION_SHOW_PROTOCOL)
|
|
|
|
/*
|
|
|
|
{
|
|
|
|
* According to 2.2.1.3.4.1 Channel Definition Structure (CHANNEL_DEF):
|
|
|
|
flags |= CHANNEL_FLAG_SHOW_PROTOCOL;
|
|
|
|
* CHANNEL_OPTION_SHOW_PROTOCOL 0x00200000
|
|
|
|
}
|
|
|
|
* The value of this flag MUST be ignored by the server. The
|
|
|
|
|
|
|
|
* visibility of the Channel PDU Header (section 2.2.6.1.1) is
|
|
|
|
|
|
|
|
* determined by the CHANNEL_FLAG_SHOW_PROTOCOL
|
|
|
|
|
|
|
|
* (0x00000010) flag as defined in the flags field (section
|
|
|
|
|
|
|
|
* 2.2.6.1.1).
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* That's flag makes MSTSC crash when using RAIL channel.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
// if (channel->flags & XR_CHANNEL_OPTION_SHOW_PROTOCOL)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// flags |= CHANNEL_FLAG_SHOW_PROTOCOL;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
out_uint32_le(s, flags);
|
|
|
|
out_uint32_le(s, flags);
|
|
|
|
|
|
|
|
|
|
|
|