21 |
#include "rdesktop.h" |
#include "rdesktop.h" |
22 |
|
|
23 |
uint16 g_mcs_userid; |
uint16 g_mcs_userid; |
24 |
extern BOOL use_rdp5; |
extern VCHANNEL g_channels[]; |
25 |
|
extern unsigned int g_num_channels; |
26 |
|
|
27 |
/* Parse an ASN.1 BER header */ |
/* Parse an ASN.1 BER header */ |
28 |
static BOOL |
static BOOL |
375 |
BOOL |
BOOL |
376 |
mcs_connect(char *server, STREAM mcs_data, char *username) |
mcs_connect(char *server, STREAM mcs_data, char *username) |
377 |
{ |
{ |
378 |
uint16 num_channels, i; |
unsigned int i; |
379 |
rdp5_channel *channel; |
|
380 |
if (!iso_connect(server, username)) |
if (!iso_connect(server, username)) |
381 |
return False; |
return False; |
382 |
|
|
399 |
if (!mcs_recv_cjcf()) |
if (!mcs_recv_cjcf()) |
400 |
goto error; |
goto error; |
401 |
|
|
402 |
if (use_rdp5) |
for (i = 0; i < g_num_channels; i++) |
403 |
{ |
{ |
404 |
num_channels = get_num_channels(); |
mcs_send_cjrq(g_channels[i].mcs_id); |
405 |
for (i = 0; i < num_channels; i++) |
if (!mcs_recv_cjcf()) |
406 |
{ |
goto error; |
|
channel = find_channel_by_num(i); |
|
|
mcs_send_cjrq(channel->channelno); |
|
|
if (!mcs_recv_cjcf()) |
|
|
goto error; |
|
|
} |
|
407 |
} |
} |
|
|
|
408 |
return True; |
return True; |
409 |
|
|
410 |
error: |
error: |