Avoid code duplication in iso_connect/iso_reconnect.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1526 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
a410341c11
commit
d00373436a
31
iso.c
31
iso.c
@ -174,38 +174,21 @@ iso_recv(uint8 * rdpver)
|
|||||||
|
|
||||||
/* Establish a connection up to the ISO layer */
|
/* Establish a connection up to the ISO layer */
|
||||||
RD_BOOL
|
RD_BOOL
|
||||||
iso_connect(char *server, char *username)
|
iso_connect(char *server, char *username, RD_BOOL reconnect)
|
||||||
{
|
{
|
||||||
uint8 code = 0;
|
uint8 code = 0;
|
||||||
|
|
||||||
if (!tcp_connect(server))
|
if (!tcp_connect(server))
|
||||||
return False;
|
return False;
|
||||||
|
|
||||||
iso_send_connection_request(username);
|
if (reconnect)
|
||||||
|
|
||||||
if (iso_recv_msg(&code, NULL) == NULL)
|
|
||||||
return False;
|
|
||||||
|
|
||||||
if (code != ISO_PDU_CC)
|
|
||||||
{
|
{
|
||||||
error("expected CC, got 0x%x\n", code);
|
|
||||||
tcp_disconnect();
|
|
||||||
return False;
|
|
||||||
}
|
|
||||||
|
|
||||||
return True;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Establish a reconnection up to the ISO layer */
|
|
||||||
RD_BOOL
|
|
||||||
iso_reconnect(char *server)
|
|
||||||
{
|
|
||||||
uint8 code = 0;
|
|
||||||
|
|
||||||
if (!tcp_connect(server))
|
|
||||||
return False;
|
|
||||||
|
|
||||||
iso_send_msg(ISO_PDU_CR);
|
iso_send_msg(ISO_PDU_CR);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iso_send_connection_request(username);
|
||||||
|
}
|
||||||
|
|
||||||
if (iso_recv_msg(&code, NULL) == NULL)
|
if (iso_recv_msg(&code, NULL) == NULL)
|
||||||
return False;
|
return False;
|
||||||
|
10
mcs.c
10
mcs.c
@ -377,16 +377,8 @@ mcs_connect_common(char *server, STREAM mcs_data, char *username, RD_BOOL reconn
|
|||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
if (reconnect)
|
if (!iso_connect(server, username, reconnect))
|
||||||
{
|
|
||||||
if (!iso_reconnect(server))
|
|
||||||
return False;
|
return False;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!iso_connect(server, username))
|
|
||||||
return False;
|
|
||||||
}
|
|
||||||
|
|
||||||
mcs_send_connect_initial(mcs_data);
|
mcs_send_connect_initial(mcs_data);
|
||||||
if (!mcs_recv_connect_response(mcs_data))
|
if (!mcs_recv_connect_response(mcs_data))
|
||||||
|
3
proto.h
3
proto.h
@ -75,8 +75,7 @@ void ewmh_init(void);
|
|||||||
STREAM iso_init(int length);
|
STREAM iso_init(int length);
|
||||||
void iso_send(STREAM s);
|
void iso_send(STREAM s);
|
||||||
STREAM iso_recv(uint8 * rdpver);
|
STREAM iso_recv(uint8 * rdpver);
|
||||||
RD_BOOL iso_connect(char *server, char *username);
|
RD_BOOL iso_connect(char *server, char *username, RD_BOOL reconnect);
|
||||||
RD_BOOL iso_reconnect(char *server);
|
|
||||||
void iso_disconnect(void);
|
void iso_disconnect(void);
|
||||||
void iso_reset_state(void);
|
void iso_reset_state(void);
|
||||||
/* licence.c */
|
/* licence.c */
|
||||||
|
Loading…
Reference in New Issue
Block a user