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
This commit is contained in:
Henrik Andersson 2013-11-26 11:26:49 +00:00
parent 3c110e5e17
commit a080b6750e
2 changed files with 12 additions and 4 deletions

View File

@ -114,7 +114,7 @@ uint32 g_rdp5_performanceflags =
RDP5_NO_WALLPAPER | RDP5_NO_FULLWINDOWDRAG | RDP5_NO_MENUANIMATIONS; RDP5_NO_WALLPAPER | RDP5_NO_FULLWINDOWDRAG | RDP5_NO_MENUANIMATIONS;
/* Session Directory redirection */ /* Session Directory redirection */
RD_BOOL g_redirect = False; RD_BOOL g_redirect = False;
char g_redirect_server[64]; char *g_redirect_server;
char g_redirect_domain[16]; char g_redirect_domain[16];
char g_redirect_password[64]; char g_redirect_password[64];
char *g_redirect_username; char *g_redirect_username;
@ -513,7 +513,7 @@ parse_server_and_port(char *server)
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
char server[64]; char server[256];
char fullhostname[64]; char fullhostname[64];
char domain[256]; char domain[256];
char password[64]; char password[64];

12
rdp.c
View File

@ -64,7 +64,7 @@ extern RDPCOMP g_mppc_dict;
/* Session Directory support */ /* Session Directory support */
extern RD_BOOL g_redirect; 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_domain[16];
extern char g_redirect_password[64]; extern char g_redirect_password[64];
extern char *g_redirect_username; 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) 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) if (g_redirect_flags & PDU_REDIRECT_HAS_TARGET_NETBIOS)