Remove process of packets in rdp_connect.
The process of packets in rdp_connect assumes that the first packets are demand active to set g_rdp_shareid which is not true. In case when CredSSP+Kerberos is in use an enhanced redirection PDU packet is sent before the demande active PDU. This fixes the problem with rdesktop silently exists in the case above. git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1794 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
a8e9328c9f
commit
708c3861f1
13
rdp.c
13
rdp.c
@ -1728,23 +1728,14 @@ RD_BOOL
|
||||
rdp_connect(char *server, uint32 flags, char *domain, char *password,
|
||||
char *command, char *directory, RD_BOOL reconnect)
|
||||
{
|
||||
RD_BOOL deactivated = False;
|
||||
uint32 ext_disc_reason = 0;
|
||||
|
||||
if (!sec_connect(server, g_username, domain, password, reconnect))
|
||||
return False;
|
||||
|
||||
rdp_send_logon_info(flags, domain, g_username, password, command, directory);
|
||||
|
||||
/* run RDP loop until first licence demand active PDU */
|
||||
while (!g_rdp_shareid)
|
||||
{
|
||||
if (g_network_error)
|
||||
return False;
|
||||
if (g_network_error)
|
||||
return False;
|
||||
|
||||
if (!rdp_loop(&deactivated, &ext_disc_reason))
|
||||
return False;
|
||||
}
|
||||
return True;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user