Make sure we handle redirection PDU packet received

within rdp_connect() loop.

Fixes silent exits of rdesktop when receiving a redirection
PDU before license handling which is a corner case appeared
while using CredSSP+Kerberos.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1825 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Henrik Andersson 2014-08-27 12:19:59 +00:00
parent 78a4f41f48
commit ee8366405d
2 changed files with 6 additions and 1 deletions

View File

@ -1133,6 +1133,7 @@ main(int argc, char *argv[])
and therefor we just clear this error before we connect to redirected server.
*/
g_network_error = False;
g_redirect = False;
}
ui_init_connection();
@ -1157,6 +1158,8 @@ main(int argc, char *argv[])
continue;
}
if (g_redirect)
continue;
/* By setting encryption to False here, we have an encrypted login
packet but unencrypted transfer of other packets */
@ -1169,7 +1172,6 @@ main(int argc, char *argv[])
tcp_run_ui(True);
deactivated = False;
g_redirect = False;
g_reconnect_loop = False;
rdp_main_loop(&deactivated, &ext_disc_reason);

3
rdp.c
View File

@ -1752,6 +1752,9 @@ rdp_connect(char *server, uint32 flags, char *domain, char *password,
if (!rdp_loop(&deactivated, &ext_disc_reason))
return False;
if (g_redirect)
return True;
}
return True;
}