From a080b6750eb0233cade377e502a9ab08c1d7b479 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Tue, 26 Nov 2013 11:26:49 +0000 Subject: [PATCH] Make use of announce target FQDN in a redirect. git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1759 423420c4-83ab-492f-b58f-81f9feb106b5 --- rdesktop.c | 4 ++-- rdp.c | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/rdesktop.c b/rdesktop.c index d78dde7..6dbe9c2 100644 --- a/rdesktop.c +++ b/rdesktop.c @@ -114,7 +114,7 @@ uint32 g_rdp5_performanceflags = RDP5_NO_WALLPAPER | RDP5_NO_FULLWINDOWDRAG | RDP5_NO_MENUANIMATIONS; /* Session Directory redirection */ RD_BOOL g_redirect = False; -char g_redirect_server[64]; +char *g_redirect_server; char g_redirect_domain[16]; char g_redirect_password[64]; char *g_redirect_username; @@ -513,7 +513,7 @@ parse_server_and_port(char *server) int main(int argc, char *argv[]) { - char server[64]; + char server[256]; char fullhostname[64]; char domain[256]; char password[64]; diff --git a/rdp.c b/rdp.c index d8cb127..f0bbfaa 100644 --- a/rdp.c +++ b/rdp.c @@ -64,7 +64,7 @@ extern RDPCOMP g_mppc_dict; /* Session Directory support */ extern RD_BOOL g_redirect; -extern char g_redirect_server[64]; +extern char *g_redirect_server; extern char g_redirect_domain[16]; extern char g_redirect_password[64]; extern char *g_redirect_username; @@ -1563,7 +1563,15 @@ process_redirect_pdu(STREAM s /*, uint32 * ext_disc_reason */ ) if (g_redirect_flags & PDU_REDIRECT_HAS_TARGET_FQDN) { - warning("PDU_REDIRECT_HAS_TARGET_FQDN set\n"); + /* read length of fqdn string */ + in_uint32_le(s, len); + if (g_redirect_server) + free(g_redirect_server); + + g_redirect_server = xmalloc(len); + + /* read fqdn string */ + rdp_in_unistr(s, g_redirect_server, sizeof(g_redirect_server), len); } if (g_redirect_flags & PDU_REDIRECT_HAS_TARGET_NETBIOS)