[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

W2K connects



Peter wrote

>Good afternoon,
>        I have been hacking the protocol for about a week now and I have
>managed to get rdesktop to connect to a windows 2000 box. To get it to
>connect, just add 4 to the caplen variable in the rdp_send_confirm_active
>function in rdp.c.
>

The caplen += 4 works for me too. Good.



>But I am now very much stuck.
>
>It appears that Windows 2000 is not sending the 0x1b order type
>(drawtext). But is sending 0x13.
>
> [...]

It is possible to declare the capabilities of the RDP client, 
and more especially the order capabilities.
That's done in rdesktop in rdp_out_order_caps.

By default, rdesktop declares it knows all the 32 orders, 
or you can use the -b option so it knows none of the orders.

If I use the -b option with W2K, the connection works (almost) properly
for me, because W2K never sends 0x13 orders, nor other unknown orders.

I think it should be preferable to put the order capabilities
properly, this way (in rdp.c:rdp_out_order_caps) :

	/*  memset(order_caps, orders, 32);  */

	memset(order_caps, 0, 32);
	order_caps[0] = 1;
	order_caps[1] = 1;
	order_caps[2] = 1;
	order_caps[9] = 1;
	order_caps[10] = 1;
	order_caps[11] = 1;
	order_caps[13] = 1;
	order_caps[14] = 1;
	order_caps[22] = 1;
	order_caps[27] = 1;



I still have some problems with bitmaps which are not
displayed correctly, because rdesktop receives 
unknown bitmap opcodes, 0x09 and 0x0A.

-- 
Philippe MARTIN
ERIDAN Informatique
http://www.eridan-info.fr