From 708c3861f18bab3ca7a60c38b928a51d63254107 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Wed, 23 Apr 2014 06:11:55 +0000 Subject: [PATCH] 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 --- rdp.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/rdp.c b/rdp.c index 2474bcf..00b0340 100644 --- a/rdp.c +++ b/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; }