24 |
extern uint8 *next_packet; |
extern uint8 *next_packet; |
25 |
|
|
26 |
void |
void |
27 |
rdp5_process(STREAM s, BOOL encryption, BOOL shortform) |
rdp5_process(STREAM s, BOOL encryption) |
28 |
{ |
{ |
29 |
uint16 length, count; |
uint16 length, count; |
30 |
uint8 type; |
uint8 type; |
32 |
|
|
33 |
if (encryption) |
if (encryption) |
34 |
{ |
{ |
35 |
in_uint8s(s, shortform ? 6 : 7 /* XXX HACK */ ); /* signature */ |
in_uint8s(s, 8); /* signature */ |
36 |
sec_decrypt(s->p, s->end - s->p); |
sec_decrypt(s->p, s->end - s->p); |
37 |
} |
} |
38 |
|
|
61 |
in_uint8s(s, 2); /* uint16 = 2 */ |
in_uint8s(s, 2); /* uint16 = 2 */ |
62 |
process_palette(s); |
process_palette(s); |
63 |
break; |
break; |
64 |
case 3: /* probably an palette with offset 3. Weird */ |
case 3: /* probably an palette with offset 3. Weird */ |
65 |
break; |
break; |
66 |
case 5: |
case 5: |
67 |
process_null_system_pointer_pdu(s); |
process_null_system_pointer_pdu(s); |
81 |
} |
} |
82 |
|
|
83 |
void |
void |
84 |
rdp5_process_channel(STREAM s, uint16 channel) |
rdp5_process_channel(STREAM s, uint16 channelno) |
85 |
{ |
{ |
86 |
printf("Data on channel %02x:\n", channel); |
rdp5_channel *channel; |
87 |
hexdump(s->p, s->end - s->p); |
channel = find_channel_by_channelno(channelno); |
88 |
|
if (NULL != channel) |
89 |
|
{ |
90 |
|
channel->channelcallback(s, channelno); |
91 |
|
} |
92 |
} |
} |