From 770bc14d18afcb1c9b9f368dca6ec60befad3575 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Thu, 24 Mar 2022 11:05:28 +0100 Subject: [PATCH] Cleaned up rdpSettings use in server --- server/proxy/pf_client.c | 6 +++--- server/shadow/shadow_client.c | 30 ++++++++---------------------- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/server/proxy/pf_client.c b/server/proxy/pf_client.c index 33ce4b98c..d53d1ef4c 100644 --- a/server/proxy/pf_client.c +++ b/server/proxy/pf_client.c @@ -757,9 +757,9 @@ static void pf_client_set_security_settings(pClientContext* pc) config = pc->pdata->config; WINPR_ASSERT(config); - settings->RdpSecurity = config->ClientRdpSecurity; - settings->TlsSecurity = config->ClientTlsSecurity; - settings->NlaSecurity = config->ClientNlaSecurity; + freerdp_settings_set_bool(settings, FreeRDP_RdpSecurity, config->ClientRdpSecurity); + freerdp_settings_set_bool(settings, FreeRDP_TlsSecurity, config->ClientTlsSecurity); + freerdp_settings_set_bool(settings, FreeRDP_NlaSecurity, config->ClientNlaSecurity); /* Smartcard authentication currently does not work with NLA */ if (pf_client_use_proxy_smartcard_auth(settings)) diff --git a/server/shadow/shadow_client.c b/server/shadow/shadow_client.c index 2077e4d41..7d5749302 100644 --- a/server/shadow/shadow_client.c +++ b/server/shadow/shadow_client.c @@ -604,6 +604,7 @@ static BOOL shadow_client_activate(freerdp_peer* peer) static BOOL shadow_client_logon(freerdp_peer* peer, const SEC_WINNT_AUTH_IDENTITY* identity, BOOL automatic) { + BOOL rc = FALSE; char* user = NULL; char* domain = NULL; char* password = NULL; @@ -662,38 +663,23 @@ static BOOL shadow_client_logon(freerdp_peer* peer, const SEC_WINNT_AUTH_IDENTIT if ((identity->User && !user) || (identity->Domain && !domain) || (identity->Password && !password)) - { - free(user); - free(domain); - free(password); - return FALSE; - } + goto fail; if (user) - { - free(settings->Username); - settings->Username = user; - user = NULL; - } + freerdp_settings_set_string(settings, FreeRDP_Username, user); if (domain) - { - free(settings->Domain); - settings->Domain = domain; - domain = NULL; - } + freerdp_settings_set_string(settings, FreeRDP_Domain, domain); if (password) - { - free(settings->Password); - settings->Password = password; - password = NULL; - } + freerdp_settings_set_string(settings, FreeRDP_Password, password); + rc = TRUE; +fail: free(user); free(domain); free(password); - return TRUE; + return rc; } static INLINE void shadow_client_common_frame_acknowledge(rdpShadowClient* client, UINT32 frameId)