45 |
while (s->p < s->end) |
while (s->p < s->end) |
46 |
{ |
{ |
47 |
in_uint8(s, type); |
in_uint8(s, type); |
48 |
if (type & RDP_COMPRESSION) |
if (type & RDP5_COMPRESSED) |
49 |
{ |
{ |
50 |
in_uint8(s, ctype); |
in_uint8(s, ctype); |
51 |
in_uint16_le(s, length); |
in_uint16_le(s, length); |
52 |
type ^= RDP_COMPRESSION; |
type ^= RDP5_COMPRESSED; |
53 |
} |
} |
54 |
else |
else |
55 |
{ |
{ |
60 |
|
|
61 |
if (ctype & RDP_MPPC_COMPRESSED) |
if (ctype & RDP_MPPC_COMPRESSED) |
62 |
{ |
{ |
|
if (length > RDP_MPPC_DICT_SIZE) |
|
|
error("error decompressed packet size exceeds max\n"); |
|
63 |
if (mppc_expand(s->p, length, ctype, &roff, &rlen) == -1) |
if (mppc_expand(s->p, length, ctype, &roff, &rlen) == -1) |
64 |
error("error while decompressing packet\n"); |
error("error while decompressing packet\n"); |
65 |
|
|