[warnings] fix unchecked return

This commit is contained in:
akallabeth
2024-09-15 08:43:31 +02:00
parent 687f946999
commit ba41d5e532
18 changed files with 216 additions and 136 deletions

View File

@@ -702,31 +702,36 @@ static BOOL pf_client_should_retry_without_nla(pClientContext* pc)
return config->ClientTlsSecurity || config->ClientRdpSecurity;
}
static void pf_client_set_security_settings(pClientContext* pc)
static BOOL pf_client_set_security_settings(pClientContext* pc)
{
rdpSettings* settings = NULL;
const proxyConfig* config = NULL;
WINPR_ASSERT(pc);
WINPR_ASSERT(pc->pdata);
settings = pc->context.settings;
rdpSettings* settings = pc->context.settings;
WINPR_ASSERT(settings);
config = pc->pdata->config;
const proxyConfig* config = pc->pdata->config;
WINPR_ASSERT(config);
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);
if (!freerdp_settings_set_bool(settings, FreeRDP_RdpSecurity, config->ClientRdpSecurity))
return FALSE;
if (!freerdp_settings_set_bool(settings, FreeRDP_TlsSecurity, config->ClientTlsSecurity))
return FALSE;
if (!freerdp_settings_set_bool(settings, FreeRDP_NlaSecurity, config->ClientNlaSecurity))
return FALSE;
if (pf_client_use_proxy_smartcard_auth(settings))
{
/* Smartcard authentication requires smartcard redirection to be enabled */
freerdp_settings_set_bool(settings, FreeRDP_RedirectSmartCards, TRUE);
if (!freerdp_settings_set_bool(settings, FreeRDP_RedirectSmartCards, TRUE))
return FALSE;
/* Reset username/domain, we will get that info later from the sc cert */
freerdp_settings_set_string(settings, FreeRDP_Username, NULL);
freerdp_settings_set_string(settings, FreeRDP_Domain, NULL);
if (!freerdp_settings_set_string(settings, FreeRDP_Username, NULL))
return FALSE;
if (!freerdp_settings_set_string(settings, FreeRDP_Domain, NULL))
return FALSE;
}
return TRUE;
}
static BOOL pf_client_connect_without_nla(pClientContext* pc)
@@ -774,7 +779,9 @@ static BOOL pf_client_connect(freerdp* instance)
freerdp_settings_get_string(settings, FreeRDP_Username),
freerdp_settings_get_string(settings, FreeRDP_Domain));
pf_client_set_security_settings(pc);
if (!pf_client_set_security_settings(pc))
return FALSE;
if (pf_client_should_retry_without_nla(pc))
retry = pc->allow_next_conn_failure = TRUE;

View File

@@ -515,24 +515,23 @@ int win_shadow_wds_wnd_init(winShadowSubsystem* subsystem)
int win_shadow_wds_init(winShadowSubsystem* subsystem)
{
int status;
HRESULT hr;
DWORD dwCookie;
long left, top;
long right, bottom;
long width, height;
IUnknown* pUnknown;
rdpSettings* settings;
BSTR bstrAuthString;
BSTR bstrGroupName;
BSTR bstrPassword;
BSTR bstrPropertyName;
int status = -1;
long left = 0;
long top = 0;
long right = 0;
long bottom = 0;
BSTR bstrAuthString = NULL;
BSTR bstrGroupName = NULL;
BSTR bstrPassword = NULL;
BSTR bstrPropertyName = NULL;
VARIANT varPropertyValue;
rdpAssistanceFile* file;
IConnectionPoint* pCP;
IConnectionPointContainer* pCPC;
rdpAssistanceFile* file = NULL;
IConnectionPoint* pCP = NULL;
IConnectionPointContainer* pCPC = NULL;
win_shadow_wds_wnd_init(subsystem);
hr = OleInitialize(NULL);
HRESULT hr = OleInitialize(NULL);
if (FAILED(hr))
{
@@ -557,7 +556,7 @@ int win_shadow_wds_init(winShadowSubsystem* subsystem)
return -1;
}
pUnknown = (IUnknown*)subsystem->pSharingSession;
IUnknown* pUnknown = (IUnknown*)subsystem->pSharingSession;
hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IConnectionPointContainer, (void**)&pCPC);
if (FAILED(hr))
@@ -577,7 +576,7 @@ int win_shadow_wds_init(winShadowSubsystem* subsystem)
return -1;
}
dwCookie = 0;
DWORD dwCookie = 0;
subsystem->pSessionEvents = &Shadow_IRDPSessionEvents;
subsystem->pSessionEvents->lpVtbl->AddRef(subsystem->pSessionEvents);
hr = pCP->lpVtbl->Advise(pCP, (IUnknown*)subsystem->pSessionEvents, &dwCookie);
@@ -605,8 +604,8 @@ int win_shadow_wds_init(winShadowSubsystem* subsystem)
return -1;
}
width = right - left;
height = bottom - top;
long width = right - left;
long height = bottom - top;
WLog_INFO(
TAG,
"GetDesktopSharedRect(): left: %ld top: %ld right: %ld bottom: %ld width: %ld height: %ld",
@@ -765,13 +764,19 @@ int win_shadow_wds_init(winShadowSubsystem* subsystem)
return status;
}
settings = subsystem->shw->settings;
status = freerdp_assistance_populate_settings_from_assistance_file(file, settings);
freerdp_settings_set_string(settings, FreeRDP_Domain, "RDP");
freerdp_settings_set_string(settings, FreeRDP_Username, "Shadow");
freerdp_settings_set_bool(settings, FreeRDP_AutoLogonEnabled, TRUE);
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, width);
freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, height);
rdpSetting* settings = subsystem->shw->settings;
if (!freerdp_assistance_populate_settings_from_assistance_file(file, settings))
return -1;
if (!freerdp_settings_set_string(settings, FreeRDP_Domain, "RDP"))
return -1;
if (!freerdp_settings_set_string(settings, FreeRDP_Username, "Shadow"))
return -1;
if (!freerdp_settings_set_bool(settings, FreeRDP_AutoLogonEnabled, TRUE))
return -1;
if (!freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, width))
return -1;
if (!freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, height))
return -1;
status = win_shadow_rdp_start(subsystem);
if (status < 0)

View File

@@ -746,14 +746,21 @@ static BOOL shadow_client_logon(freerdp_peer* peer, const SEC_WINNT_AUTH_IDENTIT
goto fail;
if (user)
freerdp_settings_set_string(settings, FreeRDP_Username, user);
{
if (!freerdp_settings_set_string(settings, FreeRDP_Username, user))
goto fail;
}
if (domain)
freerdp_settings_set_string(settings, FreeRDP_Domain, domain);
{
if (!freerdp_settings_set_string(settings, FreeRDP_Domain, domain))
goto fail;
}
if (password)
freerdp_settings_set_string(settings, FreeRDP_Password, password);
{
if (!freerdp_settings_set_string(settings, FreeRDP_Password, password))
goto fail;
}
rc = TRUE;
fail:
free(user);
@@ -959,9 +966,12 @@ static UINT shadow_client_rdpgfx_caps_advertise(RdpgfxServerContext* context,
h264 =
(shadow_encoder_prepare(client->encoder, FREERDP_CODEC_AVC420 | FREERDP_CODEC_AVC444) >= 0);
#else
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE);
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE);
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE);
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE))
return rc;
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE))
return rc;
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE))
return rc;
#endif
/* Request full screen update for new gfx channel */
@@ -1019,25 +1029,38 @@ static UINT shadow_client_rdpgfx_caps_advertise(RdpgfxServerContext* context,
flags = pdu.capsSet->flags;
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE);
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE);
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE))
return rc;
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE))
return rc;
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxThinClient,
(flags & RDPGFX_CAPS_FLAG_THINCLIENT) ? TRUE : FALSE);
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxSmallCache,
(flags & RDPGFX_CAPS_FLAG_SMALL_CACHE) ? TRUE : FALSE);
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxThinClient,
(flags & RDPGFX_CAPS_FLAG_THINCLIENT) ? TRUE
: FALSE))
return rc;
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxSmallCache,
(flags & RDPGFX_CAPS_FLAG_SMALL_CACHE) ? TRUE
: FALSE))
return rc;
#ifndef WITH_GFX_H264
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE);
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE))
return rc;
pdu.capsSet->flags &= ~RDPGFX_CAPS_FLAG_AVC420_ENABLED;
#else
if (h264)
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264,
(flags & RDPGFX_CAPS_FLAG_AVC420_ENABLED) ? TRUE
: FALSE);
{
if (!freerdp_settings_set_bool(
clientSettings, FreeRDP_GfxH264,
(flags & RDPGFX_CAPS_FLAG_AVC420_ENABLED) ? TRUE : FALSE))
return rc;
}
else
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE);
{
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE))
return rc;
}
#endif
return shadow_client_send_caps_confirm(context, client, &pdu);
@@ -1058,14 +1081,21 @@ static UINT shadow_client_rdpgfx_caps_advertise(RdpgfxServerContext* context,
pdu.capsSet = &caps;
flags = pdu.capsSet->flags;
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE);
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE);
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE);
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE))
return rc;
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE))
return rc;
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE))
return rc;
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxThinClient,
(flags & RDPGFX_CAPS_FLAG_THINCLIENT) ? TRUE : FALSE);
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxSmallCache,
(flags & RDPGFX_CAPS_FLAG_SMALL_CACHE) ? TRUE : FALSE);
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxThinClient,
(flags & RDPGFX_CAPS_FLAG_THINCLIENT) ? TRUE
: FALSE))
return rc;
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxSmallCache,
(flags & RDPGFX_CAPS_FLAG_SMALL_CACHE) ? TRUE
: FALSE))
return rc;
return shadow_client_send_caps_confirm(context, client, &pdu);
}

View File

@@ -399,7 +399,8 @@ int shadow_server_parse_command_line(rdpShadowServer* server, int argc, char** a
}
CommandLineSwitchCase(arg, "sam-file")
{
freerdp_settings_set_string(settings, FreeRDP_NtlmSamFile, arg->Value);
if (!freerdp_settings_set_string(settings, FreeRDP_NtlmSamFile, arg->Value))
return COMMAND_LINE_ERROR;
}
CommandLineSwitchCase(arg, "log-level")
{