--- sourceforge.net/trunk/rdesktop/orders.c 2004/07/12 21:07:39 738 +++ sourceforge.net/trunk/rdesktop/orders.c 2005/02/16 22:28:17 813 @@ -606,9 +606,27 @@ if (present & 0x002000) in_uint16_le(s, os->boxbottom); - if (present & 0x004000) /* fix for connecting to a server that */ - in_uint8s(s, 10); /* was disconnected with mstsc.exe */ - /* 0x008000, 0x020000, and 0x040000 are present too ??? */ + /* + * Unknown members, seen when connecting to a session that was disconnected with + * mstsc and with wintach's spreadsheet test. + */ + if (present & 0x004000) + in_uint8s(s, 1); + + if (present & 0x008000) + in_uint8s(s, 1); + + if (present & 0x010000) + { + in_uint8s(s, 1); /* guessing the length here */ + warning("Unknown order state member (0x010000) in text2 order.\n"); + } + + if (present & 0x020000) + in_uint8s(s, 4); + + if (present & 0x040000) + in_uint8s(s, 4); if (present & 0x080000) in_uint16_le(s, os->x);