[warnings] fix unchecked return

This commit is contained in:
akallabeth 2024-09-15 08:43:31 +02:00
parent 687f946999
commit ba41d5e532
No known key found for this signature in database
GPG Key ID: A49454A3FC909FD5
18 changed files with 216 additions and 136 deletions

View File

@ -54,8 +54,10 @@ void mac_set_view_size(rdpContext *context, MRDPView *view);
if (freerdp_settings_get_bool(settings, FreeRDP_Fullscreen))
{
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, screenFrame.size.width);
freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, screenFrame.size.height);
(void)freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth,
screenFrame.size.width);
(void)freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight,
screenFrame.size.height);
}
PubSub_SubscribeConnectionResult(context->pubSub, AppDelegate_ConnectionResultEventHandler);

View File

@ -264,16 +264,19 @@ static BOOL wf_pre_connect(freerdp* instance)
if (desktopWidth != freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth))
{
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, desktopWidth);
if (!freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, desktopWidth))
return FALSE;
}
if (desktopHeight != freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight))
{
freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, desktopHeight);
if (!freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, desktopHeight))
return FALSE;
}
rc = freerdp_keyboard_init(freerdp_settings_get_uint32(settings, FreeRDP_KeyboardLayout));
freerdp_settings_set_uint32(settings, FreeRDP_KeyboardLayout, rc);
if (!freerdp_settings_set_uint32(settings, FreeRDP_KeyboardLayout, rc))
return FALSE;
PubSub_SubscribeChannelConnected(instance->context->pubSub, wf_OnChannelConnectedEventHandler);
PubSub_SubscribeChannelDisconnected(instance->context->pubSub,
wf_OnChannelDisconnectedEventHandler);
@ -1338,7 +1341,8 @@ static BOOL wfreerdp_client_new(freerdp* instance, rdpContext* context)
instance->AuthenticateEx = wf_authenticate_ex;
#ifdef WITH_WINDOWS_CERT_STORE
freerdp_settings_set_bool(context->settings, FreeRDP_CertificateCallbackPreferPEM, TRUE);
if (!freerdp_settings_set_bool(context->settings, FreeRDP_CertificateCallbackPreferPEM, TRUE))
return FALSE;
#endif
if (!wfc->isConsole)

View File

@ -360,8 +360,9 @@ static void wf_send_resize(wfContext* wfc)
{
WLog_ERR("", "SendMonitorLayout failed.");
}
freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingWidth, targetWidth);
freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingHeight, targetHeight);
(void)freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingWidth, targetWidth);
(void)freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingHeight,
targetHeight);
}
wfc->lastSentDate = GetTickCount64();
}
@ -725,7 +726,7 @@ LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam
{
HMENU hMenu = GetSystemMenu(wfc->hwnd, FALSE);
const BOOL rc = freerdp_settings_get_bool(settings, FreeRDP_SmartSizing);
freerdp_settings_set_bool(settings, FreeRDP_SmartSizing, !rc);
(void)freerdp_settings_set_bool(settings, FreeRDP_SmartSizing, !rc);
CheckMenuItem(hMenu, SYSCOMMAND_ID_SMARTSIZING,
freerdp_settings_get_bool(settings, FreeRDP_SmartSizing)
? MF_CHECKED
@ -778,7 +779,8 @@ LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam
case WM_SETFOCUS:
DEBUG_KBD("getting focus %X", hWnd);
freerdp_settings_set_bool(wfc->common.context.settings, FreeRDP_SuspendInput, FALSE);
(void)freerdp_settings_set_bool(wfc->common.context.settings, FreeRDP_SuspendInput,
FALSE);
if (alt_ctrl_down())
g_flipping_in = TRUE;
@ -788,7 +790,8 @@ LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam
break;
case WM_KILLFOCUS:
freerdp_settings_set_bool(wfc->common.context.settings, FreeRDP_SuspendInput, TRUE);
(void)freerdp_settings_set_bool(wfc->common.context.settings, FreeRDP_SuspendInput,
TRUE);
if (g_focus_hWnd == hWnd && wfc && !wfc->fullscreen)
{

View File

@ -254,21 +254,28 @@ static BOOL freerdp_client_settings_post_process(rdpSettings* settings)
* that the rdp file also triggers this functionality */
if (freerdp_settings_get_bool(settings, FreeRDP_SpanMonitors))
{
freerdp_settings_set_bool(settings, FreeRDP_UseMultimon, TRUE);
freerdp_settings_set_bool(settings, FreeRDP_Fullscreen, TRUE);
if (!freerdp_settings_set_bool(settings, FreeRDP_UseMultimon, TRUE))
goto out_error;
if (!freerdp_settings_set_bool(settings, FreeRDP_Fullscreen, TRUE))
goto out_error;
}
else if (freerdp_settings_get_bool(settings, FreeRDP_UseMultimon))
{
freerdp_settings_set_bool(settings, FreeRDP_Fullscreen, TRUE);
if (!freerdp_settings_set_bool(settings, FreeRDP_Fullscreen, TRUE))
goto out_error;
}
/* deal with the smartcard / smartcard logon stuff */
if (freerdp_settings_get_bool(settings, FreeRDP_SmartcardLogon))
{
freerdp_settings_set_bool(settings, FreeRDP_TlsSecurity, TRUE);
freerdp_settings_set_bool(settings, FreeRDP_RedirectSmartCards, TRUE);
freerdp_settings_set_bool(settings, FreeRDP_DeviceRedirection, TRUE);
freerdp_settings_set_bool(settings, FreeRDP_PasswordIsSmartcardPin, TRUE);
if (!freerdp_settings_set_bool(settings, FreeRDP_TlsSecurity, TRUE))
goto out_error;
if (!freerdp_settings_set_bool(settings, FreeRDP_RedirectSmartCards, TRUE))
goto out_error;
if (!freerdp_settings_set_bool(settings, FreeRDP_DeviceRedirection, TRUE))
goto out_error;
if (!freerdp_settings_set_bool(settings, FreeRDP_PasswordIsSmartcardPin, TRUE))
goto out_error;
}
return TRUE;

View File

@ -4195,9 +4195,12 @@ static int freerdp_client_settings_parse_command_line_arguments_int(
else
compatibility = freerdp_client_detect_command_line(argc - 1, &argv[1], &flags);
freerdp_settings_set_string(settings, FreeRDP_ProxyHostname, NULL);
freerdp_settings_set_string(settings, FreeRDP_ProxyUsername, NULL);
freerdp_settings_set_string(settings, FreeRDP_ProxyPassword, NULL);
if (!freerdp_settings_set_string(settings, FreeRDP_ProxyHostname, NULL))
return -1;
if (!freerdp_settings_set_string(settings, FreeRDP_ProxyUsername, NULL))
return -1;
if (!freerdp_settings_set_string(settings, FreeRDP_ProxyPassword, NULL))
return -1;
if (compatibility)
{
@ -4644,7 +4647,8 @@ static int freerdp_client_settings_parse_command_line_arguments_int(
}
CommandLineSwitchCase(arg, "disable-output")
{
freerdp_settings_set_bool(settings, FreeRDP_DeactivateClientDecoding, enable);
if (!freerdp_settings_set_bool(settings, FreeRDP_DeactivateClientDecoding, enable))
return fail_at(arg, COMMAND_LINE_ERROR);
}
CommandLineSwitchCase(arg, "home-drive")
{

View File

@ -309,8 +309,8 @@ out_free:
{
[_params setInt:size.width forKey:@"width"];
[_params setInt:size.height forKey:@"height"];
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, size.width);
freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, size.height);
(void)freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, size.width);
(void)freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, size.height);
}
}
@ -320,7 +320,7 @@ out_free:
if (freerdp_settings_get_uint32(settings, FreeRDP_ColorDepth) <= 16)
{
const UINT32 w = freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth) & (~1);
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, w);
(void)freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, w);
}
[self performSelectorInBackground:@selector(runSession) withObject:nil];

View File

@ -793,10 +793,13 @@ static BOOL clear_decompress_bands_data(CLEAR_CONTEXT* WINPR_RESTRICT clear,
if ((y + count) > vBarPixelCount)
count = (vBarPixelCount > y) ? (vBarPixelCount - y) : 0;
while (count--)
if (count > 0)
{
FreeRDPWriteColor(dstBuffer, clear->format, colorBkg);
dstBuffer += FreeRDPGetBytesPerPixel(clear->format);
while (count--)
{
FreeRDPWriteColor(dstBuffer, clear->format, colorBkg);
dstBuffer += FreeRDPGetBytesPerPixel(clear->format);
}
}
/*
@ -836,12 +839,15 @@ static BOOL clear_decompress_bands_data(CLEAR_CONTEXT* WINPR_RESTRICT clear,
y = vBarYOn + vBarShortPixelCount;
count = (vBarPixelCount > y) ? (vBarPixelCount - y) : 0;
while (count--)
if (count > 0)
{
if (!FreeRDPWriteColor(dstBuffer, clear->format, colorBkg))
return FALSE;
while (count--)
{
if (!FreeRDPWriteColor(dstBuffer, clear->format, colorBkg))
return FALSE;
dstBuffer += FreeRDPGetBytesPerPixel(clear->format);
dstBuffer += FreeRDPGetBytesPerPixel(clear->format);
}
}
vBarEntry->count = vBarPixelCount;

View File

@ -1141,7 +1141,9 @@ static INLINE INT16 progressive_rfx_srl_read(RFX_PROGRESSIVE_UPGRADE_STATE* WINP
mag++;
}
return sign ? -1 * mag : mag;
if (mag > INT16_MAX)
mag = INT16_MAX;
return (INT16)(sign ? -1 * mag : mag);
}
static INLINE int

View File

@ -833,9 +833,9 @@ void freerdp_dynamic_channel_collection_free(rdpSettings* settings)
}
free(settings->DynamicChannelArray);
freerdp_settings_set_uint32(settings, FreeRDP_DynamicChannelArraySize, 0);
(void)freerdp_settings_set_uint32(settings, FreeRDP_DynamicChannelArraySize, 0);
settings->DynamicChannelArray = NULL;
freerdp_settings_set_uint32(settings, FreeRDP_DynamicChannelCount, 0);
(void)freerdp_settings_set_uint32(settings, FreeRDP_DynamicChannelCount, 0);
}
void freerdp_capability_buffer_free(rdpSettings* settings)
@ -968,37 +968,41 @@ void freerdp_performance_flags_make(rdpSettings* settings)
if (freerdp_settings_get_bool(settings, FreeRDP_DisableThemes))
PerformanceFlags |= PERF_DISABLE_THEMING;
freerdp_settings_set_uint32(settings, FreeRDP_PerformanceFlags, PerformanceFlags);
(void)freerdp_settings_set_uint32(settings, FreeRDP_PerformanceFlags, PerformanceFlags);
}
void freerdp_performance_flags_split(rdpSettings* settings)
{
freerdp_settings_set_bool(settings, FreeRDP_AllowFontSmoothing,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
PERF_ENABLE_FONT_SMOOTHING)
? TRUE
: FALSE);
freerdp_settings_set_bool(settings, FreeRDP_AllowDesktopComposition,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
PERF_ENABLE_DESKTOP_COMPOSITION)
? TRUE
: FALSE);
freerdp_settings_set_bool(
(void)freerdp_settings_set_bool(
settings, FreeRDP_AllowFontSmoothing,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
PERF_ENABLE_FONT_SMOOTHING)
? TRUE
: FALSE);
(void)freerdp_settings_set_bool(
settings, FreeRDP_AllowDesktopComposition,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
PERF_ENABLE_DESKTOP_COMPOSITION)
? TRUE
: FALSE);
(void)freerdp_settings_set_bool(
settings, FreeRDP_DisableWallpaper,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) & PERF_DISABLE_WALLPAPER)
? TRUE
: FALSE);
freerdp_settings_set_bool(settings, FreeRDP_DisableFullWindowDrag,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
PERF_DISABLE_FULLWINDOWDRAG)
? TRUE
: FALSE);
freerdp_settings_set_bool(settings, FreeRDP_DisableMenuAnims,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
PERF_DISABLE_MENUANIMATIONS)
? TRUE
: FALSE);
freerdp_settings_set_bool(
(void)freerdp_settings_set_bool(
settings, FreeRDP_DisableFullWindowDrag,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
PERF_DISABLE_FULLWINDOWDRAG)
? TRUE
: FALSE);
(void)freerdp_settings_set_bool(
settings, FreeRDP_DisableMenuAnims,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
PERF_DISABLE_MENUANIMATIONS)
? TRUE
: FALSE);
(void)freerdp_settings_set_bool(
settings, FreeRDP_DisableThemes,
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) & PERF_DISABLE_THEMING)
? TRUE

View File

@ -326,12 +326,12 @@ void freerdp_settings_free_keys(rdpSettings* dst, BOOL cleanup)
switch (cur->type)
{
case FREERDP_SETTINGS_TYPE_STRING: /* strings */
freerdp_settings_set_string_copy_(dst, (FreeRDP_Settings_Keys_String)cur->id, NULL,
0, cleanup);
(void)freerdp_settings_set_string_copy_(dst, (FreeRDP_Settings_Keys_String)cur->id,
NULL, 0, cleanup);
break;
case FREERDP_SETTINGS_TYPE_POINTER: /* pointer */
freerdp_settings_set_pointer_len(dst, (FreeRDP_Settings_Keys_Pointer)cur->id, NULL,
0);
(void)freerdp_settings_set_pointer_len(dst, (FreeRDP_Settings_Keys_Pointer)cur->id,
NULL, 0);
break;
}
}

View File

@ -362,8 +362,11 @@ static BOOL rdp_apply_bitmap_capability_set(rdpSettings* settings, const rdpSett
WINPR_ASSERT(src);
if (!settings->ServerMode)
freerdp_settings_set_uint32(settings, FreeRDP_ColorDepth,
freerdp_settings_get_uint32(src, FreeRDP_ColorDepth));
{
if (!freerdp_settings_set_uint32(settings, FreeRDP_ColorDepth,
freerdp_settings_get_uint32(src, FreeRDP_ColorDepth)))
return FALSE;
}
if (!src->DesktopResize)
settings->DesktopResize = FALSE;

View File

@ -644,7 +644,7 @@ static BOOL rdp_read_info_string(rdpSettings* settings, FreeRDP_Settings_Keys_St
if (terminator.w != L'\0')
{
WLog_ERR(TAG, "protocol error: Domain must be null terminated");
freerdp_settings_set_string(settings, id, NULL);
(void)freerdp_settings_set_string(settings, id, NULL);
return FALSE;
}

View File

@ -800,8 +800,10 @@ rdpSettings* freerdp_settings_new(DWORD flags)
goto out_fail;
settings->OrderSupport = calloc(1, 32);
freerdp_settings_set_uint16(settings, FreeRDP_TLSMinVersion, TLS1_VERSION);
freerdp_settings_set_uint16(settings, FreeRDP_TLSMaxVersion, 0);
if (!freerdp_settings_set_uint16(settings, FreeRDP_TLSMinVersion, TLS1_VERSION))
goto out_fail;
if (!freerdp_settings_set_uint16(settings, FreeRDP_TLSMaxVersion, 0))
goto out_fail;
if (!settings->OrderSupport)
goto out_fail;

View File

@ -1353,8 +1353,8 @@ static BOOL is_accepted(rdpTls* tls, const rdpCertificate* cert)
return TRUE;
}
freerdp_settings_set_string(settings, keyAccepted, NULL);
freerdp_settings_set_uint32(settings, keyLength, 0);
(void)freerdp_settings_set_string(settings, keyAccepted, NULL);
(void)freerdp_settings_set_uint32(settings, keyLength, 0);
return FALSE;
}

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")
{