From 8267f2cb88e91b700c4890106c62d03979ff3434 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc-Andr=C3=A9=20Moreau?= Date: Tue, 18 Dec 2012 10:51:43 -0500 Subject: [PATCH] libfreerdp-core: fix usage of proper gateway credentials --- client/common/cmdline.c | 15 +++++++++++++++ libfreerdp/core/gateway/ncacn_http.c | 10 +--------- libfreerdp/core/gateway/rpc_bind.c | 2 +- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/client/common/cmdline.c b/client/common/cmdline.c index e294fe1..a3a08a6 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -1319,6 +1319,21 @@ int freerdp_client_parse_command_line_arguments(int argc, char** argv, rdpSettin if (settings->DisableThemes) settings->PerformanceFlags |= PERF_DISABLE_THEMING; + if (settings->GatewayUsageMethod) + { + if (settings->GatewayUseSameCredentials) + { + if (settings->Username) + settings->GatewayUsername = _strdup(settings->Username); + + if (settings->Domain) + settings->GatewayDomain = _strdup(settings->Domain); + + if (settings->Password) + settings->GatewayPassword = _strdup(settings->Password); + } + } + arg = CommandLineFindArgumentA(args, "p"); if (arg->Flags & COMMAND_LINE_ARGUMENT_PRESENT) diff --git a/libfreerdp/core/gateway/ncacn_http.c b/libfreerdp/core/gateway/ncacn_http.c index 2afc7a8..4020a84 100644 --- a/libfreerdp/core/gateway/ncacn_http.c +++ b/libfreerdp/core/gateway/ncacn_http.c @@ -122,16 +122,8 @@ int rpc_ncacn_http_ntlm_init(rdpRpc* rpc, TSG_CHANNEL channel) else if (channel == TSG_CHANNEL_OUT) ntlm = rpc->NtlmHttpOut->ntlm; - if (settings->GatewayUseSameCredentials) - { - ntlm_client_init(ntlm, TRUE, settings->Username, - settings->Domain, settings->Password); - } - else - { - ntlm_client_init(ntlm, TRUE, settings->GatewayUsername, + ntlm_client_init(ntlm, TRUE, settings->GatewayUsername, settings->GatewayDomain, settings->GatewayPassword); - } //ntlm_client_make_spn(ntlm, NULL, settings->GatewayHostname); ntlm_client_make_spn(ntlm, _T("HTTP"), settings->GatewayHostname); diff --git a/libfreerdp/core/gateway/rpc_bind.c b/libfreerdp/core/gateway/rpc_bind.c index 0661c6e..9c01eb4 100644 --- a/libfreerdp/core/gateway/rpc_bind.c +++ b/libfreerdp/core/gateway/rpc_bind.c @@ -102,7 +102,7 @@ int rpc_send_bind_pdu(rdpRpc* rpc) rpc->ntlm = ntlm_new(); - ntlm_client_init(rpc->ntlm, FALSE, settings->Username, settings->Domain, settings->Password); + ntlm_client_init(rpc->ntlm, FALSE, settings->GatewayUsername, settings->GatewayDomain, settings->GatewayPassword); ntlm_client_make_spn(rpc->ntlm, NULL, settings->GatewayHostname); ntlm_authenticate(rpc->ntlm); -- 2.7.4