libxrdp: work on RDP negotiation, add clientRequestedProtocol to MCS

response. (hardcoded values - temporarily)
ulab-next
speidy 11 years ago
parent 24e4b8c937
commit da62badee5

@ -119,9 +119,6 @@ xrdp_iso_recv_msg(struct xrdp_iso *self, struct stream *s, int *code)
in_uint8s(s, 1);
in_uint16_be(s, len);
// print CR packet hex dump
g_hexdump(s->p, len);
if (xrdp_tcp_recv(self->tcp_layer, s, len - 4) != 0)
{
return 1;

@ -984,13 +984,14 @@ xrdp_sec_out_mcs_data(struct xrdp_sec *self)
out_uint8(s, 0x63); /* c */
out_uint8(s, 0x44); /* D */
out_uint8(s, 0x6e); /* n */
out_uint16_be(s, 0x80fc + (num_channels_even * 2));
out_uint16_be(s, 0x80fc + (num_channels_even * 2) + 4);
out_uint16_le(s, SEC_TAG_SRV_INFO);
out_uint16_le(s, 8); /* len */
out_uint16_le(s, 12); /* len */
out_uint8(s, 4); /* 4 = rdp5 1 = rdp4 */
out_uint8(s, 0);
out_uint8(s, 8);
out_uint8(s, 0);
out_uint32_le(s, PROTOCOL_RDP); /* clientReqeustedProtocol */ //TODO: pass it through sec_layer->selectedProtocol
out_uint16_le(s, SEC_TAG_SRV_CHANNELS);
out_uint16_le(s, 8 + (num_channels_even * 2)); /* len */
out_uint16_le(s, MCS_GLOBAL_CHANNEL); /* 1003, 0x03eb main channel */

Loading…
Cancel
Save