mirror of https://github.com/FreeRDP/FreeRDP
[warnings] fix unchecked return
This commit is contained in:
parent
687f946999
commit
ba41d5e532
|
@ -54,8 +54,10 @@ void mac_set_view_size(rdpContext *context, MRDPView *view);
|
||||||
|
|
||||||
if (freerdp_settings_get_bool(settings, FreeRDP_Fullscreen))
|
if (freerdp_settings_get_bool(settings, FreeRDP_Fullscreen))
|
||||||
{
|
{
|
||||||
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, screenFrame.size.width);
|
(void)freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth,
|
||||||
freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, screenFrame.size.height);
|
screenFrame.size.width);
|
||||||
|
(void)freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight,
|
||||||
|
screenFrame.size.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
PubSub_SubscribeConnectionResult(context->pubSub, AppDelegate_ConnectionResultEventHandler);
|
PubSub_SubscribeConnectionResult(context->pubSub, AppDelegate_ConnectionResultEventHandler);
|
||||||
|
|
|
@ -264,16 +264,19 @@ static BOOL wf_pre_connect(freerdp* instance)
|
||||||
|
|
||||||
if (desktopWidth != freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth))
|
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))
|
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));
|
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_SubscribeChannelConnected(instance->context->pubSub, wf_OnChannelConnectedEventHandler);
|
||||||
PubSub_SubscribeChannelDisconnected(instance->context->pubSub,
|
PubSub_SubscribeChannelDisconnected(instance->context->pubSub,
|
||||||
wf_OnChannelDisconnectedEventHandler);
|
wf_OnChannelDisconnectedEventHandler);
|
||||||
|
@ -1338,7 +1341,8 @@ static BOOL wfreerdp_client_new(freerdp* instance, rdpContext* context)
|
||||||
instance->AuthenticateEx = wf_authenticate_ex;
|
instance->AuthenticateEx = wf_authenticate_ex;
|
||||||
|
|
||||||
#ifdef WITH_WINDOWS_CERT_STORE
|
#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
|
#endif
|
||||||
|
|
||||||
if (!wfc->isConsole)
|
if (!wfc->isConsole)
|
||||||
|
|
|
@ -360,8 +360,9 @@ static void wf_send_resize(wfContext* wfc)
|
||||||
{
|
{
|
||||||
WLog_ERR("", "SendMonitorLayout failed.");
|
WLog_ERR("", "SendMonitorLayout failed.");
|
||||||
}
|
}
|
||||||
freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingWidth, targetWidth);
|
(void)freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingWidth, targetWidth);
|
||||||
freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingHeight, targetHeight);
|
(void)freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingHeight,
|
||||||
|
targetHeight);
|
||||||
}
|
}
|
||||||
wfc->lastSentDate = GetTickCount64();
|
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);
|
HMENU hMenu = GetSystemMenu(wfc->hwnd, FALSE);
|
||||||
const BOOL rc = freerdp_settings_get_bool(settings, FreeRDP_SmartSizing);
|
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,
|
CheckMenuItem(hMenu, SYSCOMMAND_ID_SMARTSIZING,
|
||||||
freerdp_settings_get_bool(settings, FreeRDP_SmartSizing)
|
freerdp_settings_get_bool(settings, FreeRDP_SmartSizing)
|
||||||
? MF_CHECKED
|
? MF_CHECKED
|
||||||
|
@ -778,7 +779,8 @@ LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam
|
||||||
case WM_SETFOCUS:
|
case WM_SETFOCUS:
|
||||||
DEBUG_KBD("getting focus %X", hWnd);
|
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())
|
if (alt_ctrl_down())
|
||||||
g_flipping_in = TRUE;
|
g_flipping_in = TRUE;
|
||||||
|
@ -788,7 +790,8 @@ LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_KILLFOCUS:
|
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)
|
if (g_focus_hWnd == hWnd && wfc && !wfc->fullscreen)
|
||||||
{
|
{
|
||||||
|
|
|
@ -254,21 +254,28 @@ static BOOL freerdp_client_settings_post_process(rdpSettings* settings)
|
||||||
* that the rdp file also triggers this functionality */
|
* that the rdp file also triggers this functionality */
|
||||||
if (freerdp_settings_get_bool(settings, FreeRDP_SpanMonitors))
|
if (freerdp_settings_get_bool(settings, FreeRDP_SpanMonitors))
|
||||||
{
|
{
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_UseMultimon, TRUE);
|
if (!freerdp_settings_set_bool(settings, FreeRDP_UseMultimon, TRUE))
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_Fullscreen, 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))
|
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 */
|
/* deal with the smartcard / smartcard logon stuff */
|
||||||
if (freerdp_settings_get_bool(settings, FreeRDP_SmartcardLogon))
|
if (freerdp_settings_get_bool(settings, FreeRDP_SmartcardLogon))
|
||||||
{
|
{
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_TlsSecurity, TRUE);
|
if (!freerdp_settings_set_bool(settings, FreeRDP_TlsSecurity, TRUE))
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_RedirectSmartCards, TRUE);
|
goto out_error;
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_DeviceRedirection, TRUE);
|
if (!freerdp_settings_set_bool(settings, FreeRDP_RedirectSmartCards, TRUE))
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_PasswordIsSmartcardPin, 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;
|
return TRUE;
|
||||||
|
|
|
@ -4195,9 +4195,12 @@ static int freerdp_client_settings_parse_command_line_arguments_int(
|
||||||
else
|
else
|
||||||
compatibility = freerdp_client_detect_command_line(argc - 1, &argv[1], &flags);
|
compatibility = freerdp_client_detect_command_line(argc - 1, &argv[1], &flags);
|
||||||
|
|
||||||
freerdp_settings_set_string(settings, FreeRDP_ProxyHostname, NULL);
|
if (!freerdp_settings_set_string(settings, FreeRDP_ProxyHostname, NULL))
|
||||||
freerdp_settings_set_string(settings, FreeRDP_ProxyUsername, NULL);
|
return -1;
|
||||||
freerdp_settings_set_string(settings, FreeRDP_ProxyPassword, NULL);
|
if (!freerdp_settings_set_string(settings, FreeRDP_ProxyUsername, NULL))
|
||||||
|
return -1;
|
||||||
|
if (!freerdp_settings_set_string(settings, FreeRDP_ProxyPassword, NULL))
|
||||||
|
return -1;
|
||||||
|
|
||||||
if (compatibility)
|
if (compatibility)
|
||||||
{
|
{
|
||||||
|
@ -4644,7 +4647,8 @@ static int freerdp_client_settings_parse_command_line_arguments_int(
|
||||||
}
|
}
|
||||||
CommandLineSwitchCase(arg, "disable-output")
|
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")
|
CommandLineSwitchCase(arg, "home-drive")
|
||||||
{
|
{
|
||||||
|
|
|
@ -309,8 +309,8 @@ out_free:
|
||||||
{
|
{
|
||||||
[_params setInt:size.width forKey:@"width"];
|
[_params setInt:size.width forKey:@"width"];
|
||||||
[_params setInt:size.height forKey:@"height"];
|
[_params setInt:size.height forKey:@"height"];
|
||||||
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, size.width);
|
(void)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_DesktopHeight, size.height);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,7 +320,7 @@ out_free:
|
||||||
if (freerdp_settings_get_uint32(settings, FreeRDP_ColorDepth) <= 16)
|
if (freerdp_settings_get_uint32(settings, FreeRDP_ColorDepth) <= 16)
|
||||||
{
|
{
|
||||||
const UINT32 w = freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth) & (~1);
|
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];
|
[self performSelectorInBackground:@selector(runSession) withObject:nil];
|
||||||
|
|
|
@ -793,10 +793,13 @@ static BOOL clear_decompress_bands_data(CLEAR_CONTEXT* WINPR_RESTRICT clear,
|
||||||
if ((y + count) > vBarPixelCount)
|
if ((y + count) > vBarPixelCount)
|
||||||
count = (vBarPixelCount > y) ? (vBarPixelCount - y) : 0;
|
count = (vBarPixelCount > y) ? (vBarPixelCount - y) : 0;
|
||||||
|
|
||||||
while (count--)
|
if (count > 0)
|
||||||
{
|
{
|
||||||
FreeRDPWriteColor(dstBuffer, clear->format, colorBkg);
|
while (count--)
|
||||||
dstBuffer += FreeRDPGetBytesPerPixel(clear->format);
|
{
|
||||||
|
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;
|
y = vBarYOn + vBarShortPixelCount;
|
||||||
count = (vBarPixelCount > y) ? (vBarPixelCount - y) : 0;
|
count = (vBarPixelCount > y) ? (vBarPixelCount - y) : 0;
|
||||||
|
|
||||||
while (count--)
|
if (count > 0)
|
||||||
{
|
{
|
||||||
if (!FreeRDPWriteColor(dstBuffer, clear->format, colorBkg))
|
while (count--)
|
||||||
return FALSE;
|
{
|
||||||
|
if (!FreeRDPWriteColor(dstBuffer, clear->format, colorBkg))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
dstBuffer += FreeRDPGetBytesPerPixel(clear->format);
|
dstBuffer += FreeRDPGetBytesPerPixel(clear->format);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vBarEntry->count = vBarPixelCount;
|
vBarEntry->count = vBarPixelCount;
|
||||||
|
|
|
@ -1141,7 +1141,9 @@ static INLINE INT16 progressive_rfx_srl_read(RFX_PROGRESSIVE_UPGRADE_STATE* WINP
|
||||||
mag++;
|
mag++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return sign ? -1 * mag : mag;
|
if (mag > INT16_MAX)
|
||||||
|
mag = INT16_MAX;
|
||||||
|
return (INT16)(sign ? -1 * mag : mag);
|
||||||
}
|
}
|
||||||
|
|
||||||
static INLINE int
|
static INLINE int
|
||||||
|
|
|
@ -833,9 +833,9 @@ void freerdp_dynamic_channel_collection_free(rdpSettings* settings)
|
||||||
}
|
}
|
||||||
|
|
||||||
free(settings->DynamicChannelArray);
|
free(settings->DynamicChannelArray);
|
||||||
freerdp_settings_set_uint32(settings, FreeRDP_DynamicChannelArraySize, 0);
|
(void)freerdp_settings_set_uint32(settings, FreeRDP_DynamicChannelArraySize, 0);
|
||||||
settings->DynamicChannelArray = NULL;
|
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)
|
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))
|
if (freerdp_settings_get_bool(settings, FreeRDP_DisableThemes))
|
||||||
PerformanceFlags |= PERF_DISABLE_THEMING;
|
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)
|
void freerdp_performance_flags_split(rdpSettings* settings)
|
||||||
{
|
{
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_AllowFontSmoothing,
|
(void)freerdp_settings_set_bool(
|
||||||
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
|
settings, FreeRDP_AllowFontSmoothing,
|
||||||
PERF_ENABLE_FONT_SMOOTHING)
|
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
|
||||||
? TRUE
|
PERF_ENABLE_FONT_SMOOTHING)
|
||||||
: FALSE);
|
? TRUE
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_AllowDesktopComposition,
|
: FALSE);
|
||||||
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
|
(void)freerdp_settings_set_bool(
|
||||||
PERF_ENABLE_DESKTOP_COMPOSITION)
|
settings, FreeRDP_AllowDesktopComposition,
|
||||||
? TRUE
|
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
|
||||||
: FALSE);
|
PERF_ENABLE_DESKTOP_COMPOSITION)
|
||||||
freerdp_settings_set_bool(
|
? TRUE
|
||||||
|
: FALSE);
|
||||||
|
(void)freerdp_settings_set_bool(
|
||||||
settings, FreeRDP_DisableWallpaper,
|
settings, FreeRDP_DisableWallpaper,
|
||||||
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) & PERF_DISABLE_WALLPAPER)
|
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) & PERF_DISABLE_WALLPAPER)
|
||||||
? TRUE
|
? TRUE
|
||||||
: FALSE);
|
: FALSE);
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_DisableFullWindowDrag,
|
(void)freerdp_settings_set_bool(
|
||||||
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
|
settings, FreeRDP_DisableFullWindowDrag,
|
||||||
PERF_DISABLE_FULLWINDOWDRAG)
|
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
|
||||||
? TRUE
|
PERF_DISABLE_FULLWINDOWDRAG)
|
||||||
: FALSE);
|
? TRUE
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_DisableMenuAnims,
|
: FALSE);
|
||||||
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
|
(void)freerdp_settings_set_bool(
|
||||||
PERF_DISABLE_MENUANIMATIONS)
|
settings, FreeRDP_DisableMenuAnims,
|
||||||
? TRUE
|
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) &
|
||||||
: FALSE);
|
PERF_DISABLE_MENUANIMATIONS)
|
||||||
freerdp_settings_set_bool(
|
? TRUE
|
||||||
|
: FALSE);
|
||||||
|
(void)freerdp_settings_set_bool(
|
||||||
settings, FreeRDP_DisableThemes,
|
settings, FreeRDP_DisableThemes,
|
||||||
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) & PERF_DISABLE_THEMING)
|
(freerdp_settings_get_uint32(settings, FreeRDP_PerformanceFlags) & PERF_DISABLE_THEMING)
|
||||||
? TRUE
|
? TRUE
|
||||||
|
|
|
@ -326,12 +326,12 @@ void freerdp_settings_free_keys(rdpSettings* dst, BOOL cleanup)
|
||||||
switch (cur->type)
|
switch (cur->type)
|
||||||
{
|
{
|
||||||
case FREERDP_SETTINGS_TYPE_STRING: /* strings */
|
case FREERDP_SETTINGS_TYPE_STRING: /* strings */
|
||||||
freerdp_settings_set_string_copy_(dst, (FreeRDP_Settings_Keys_String)cur->id, NULL,
|
(void)freerdp_settings_set_string_copy_(dst, (FreeRDP_Settings_Keys_String)cur->id,
|
||||||
0, cleanup);
|
NULL, 0, cleanup);
|
||||||
break;
|
break;
|
||||||
case FREERDP_SETTINGS_TYPE_POINTER: /* pointer */
|
case FREERDP_SETTINGS_TYPE_POINTER: /* pointer */
|
||||||
freerdp_settings_set_pointer_len(dst, (FreeRDP_Settings_Keys_Pointer)cur->id, NULL,
|
(void)freerdp_settings_set_pointer_len(dst, (FreeRDP_Settings_Keys_Pointer)cur->id,
|
||||||
0);
|
NULL, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -362,8 +362,11 @@ static BOOL rdp_apply_bitmap_capability_set(rdpSettings* settings, const rdpSett
|
||||||
WINPR_ASSERT(src);
|
WINPR_ASSERT(src);
|
||||||
|
|
||||||
if (!settings->ServerMode)
|
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)
|
if (!src->DesktopResize)
|
||||||
settings->DesktopResize = FALSE;
|
settings->DesktopResize = FALSE;
|
||||||
|
|
|
@ -644,7 +644,7 @@ static BOOL rdp_read_info_string(rdpSettings* settings, FreeRDP_Settings_Keys_St
|
||||||
if (terminator.w != L'\0')
|
if (terminator.w != L'\0')
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "protocol error: Domain must be null terminated");
|
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;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -800,8 +800,10 @@ rdpSettings* freerdp_settings_new(DWORD flags)
|
||||||
goto out_fail;
|
goto out_fail;
|
||||||
settings->OrderSupport = calloc(1, 32);
|
settings->OrderSupport = calloc(1, 32);
|
||||||
|
|
||||||
freerdp_settings_set_uint16(settings, FreeRDP_TLSMinVersion, TLS1_VERSION);
|
if (!freerdp_settings_set_uint16(settings, FreeRDP_TLSMinVersion, TLS1_VERSION))
|
||||||
freerdp_settings_set_uint16(settings, FreeRDP_TLSMaxVersion, 0);
|
goto out_fail;
|
||||||
|
if (!freerdp_settings_set_uint16(settings, FreeRDP_TLSMaxVersion, 0))
|
||||||
|
goto out_fail;
|
||||||
|
|
||||||
if (!settings->OrderSupport)
|
if (!settings->OrderSupport)
|
||||||
goto out_fail;
|
goto out_fail;
|
||||||
|
|
|
@ -1353,8 +1353,8 @@ static BOOL is_accepted(rdpTls* tls, const rdpCertificate* cert)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
freerdp_settings_set_string(settings, keyAccepted, NULL);
|
(void)freerdp_settings_set_string(settings, keyAccepted, NULL);
|
||||||
freerdp_settings_set_uint32(settings, keyLength, 0);
|
(void)freerdp_settings_set_uint32(settings, keyLength, 0);
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -702,31 +702,36 @@ static BOOL pf_client_should_retry_without_nla(pClientContext* pc)
|
||||||
return config->ClientTlsSecurity || config->ClientRdpSecurity;
|
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);
|
||||||
WINPR_ASSERT(pc->pdata);
|
WINPR_ASSERT(pc->pdata);
|
||||||
settings = pc->context.settings;
|
rdpSettings* settings = pc->context.settings;
|
||||||
WINPR_ASSERT(settings);
|
WINPR_ASSERT(settings);
|
||||||
config = pc->pdata->config;
|
const proxyConfig* config = pc->pdata->config;
|
||||||
WINPR_ASSERT(config);
|
WINPR_ASSERT(config);
|
||||||
|
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_RdpSecurity, config->ClientRdpSecurity);
|
if (!freerdp_settings_set_bool(settings, FreeRDP_RdpSecurity, config->ClientRdpSecurity))
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_TlsSecurity, config->ClientTlsSecurity);
|
return FALSE;
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_NlaSecurity, config->ClientNlaSecurity);
|
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))
|
if (pf_client_use_proxy_smartcard_auth(settings))
|
||||||
{
|
{
|
||||||
/* Smartcard authentication requires smartcard redirection to be enabled */
|
/* 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 */
|
/* Reset username/domain, we will get that info later from the sc cert */
|
||||||
freerdp_settings_set_string(settings, FreeRDP_Username, NULL);
|
if (!freerdp_settings_set_string(settings, FreeRDP_Username, NULL))
|
||||||
freerdp_settings_set_string(settings, FreeRDP_Domain, 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)
|
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_Username),
|
||||||
freerdp_settings_get_string(settings, FreeRDP_Domain));
|
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))
|
if (pf_client_should_retry_without_nla(pc))
|
||||||
retry = pc->allow_next_conn_failure = TRUE;
|
retry = pc->allow_next_conn_failure = TRUE;
|
||||||
|
|
||||||
|
|
|
@ -515,24 +515,23 @@ int win_shadow_wds_wnd_init(winShadowSubsystem* subsystem)
|
||||||
|
|
||||||
int win_shadow_wds_init(winShadowSubsystem* subsystem)
|
int win_shadow_wds_init(winShadowSubsystem* subsystem)
|
||||||
{
|
{
|
||||||
int status;
|
int status = -1;
|
||||||
HRESULT hr;
|
|
||||||
DWORD dwCookie;
|
long left = 0;
|
||||||
long left, top;
|
long top = 0;
|
||||||
long right, bottom;
|
long right = 0;
|
||||||
long width, height;
|
long bottom = 0;
|
||||||
IUnknown* pUnknown;
|
BSTR bstrAuthString = NULL;
|
||||||
rdpSettings* settings;
|
BSTR bstrGroupName = NULL;
|
||||||
BSTR bstrAuthString;
|
BSTR bstrPassword = NULL;
|
||||||
BSTR bstrGroupName;
|
BSTR bstrPropertyName = NULL;
|
||||||
BSTR bstrPassword;
|
|
||||||
BSTR bstrPropertyName;
|
|
||||||
VARIANT varPropertyValue;
|
VARIANT varPropertyValue;
|
||||||
rdpAssistanceFile* file;
|
rdpAssistanceFile* file = NULL;
|
||||||
IConnectionPoint* pCP;
|
IConnectionPoint* pCP = NULL;
|
||||||
IConnectionPointContainer* pCPC;
|
IConnectionPointContainer* pCPC = NULL;
|
||||||
|
|
||||||
win_shadow_wds_wnd_init(subsystem);
|
win_shadow_wds_wnd_init(subsystem);
|
||||||
hr = OleInitialize(NULL);
|
HRESULT hr = OleInitialize(NULL);
|
||||||
|
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
|
@ -557,7 +556,7 @@ int win_shadow_wds_init(winShadowSubsystem* subsystem)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
pUnknown = (IUnknown*)subsystem->pSharingSession;
|
IUnknown* pUnknown = (IUnknown*)subsystem->pSharingSession;
|
||||||
hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IConnectionPointContainer, (void**)&pCPC);
|
hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IConnectionPointContainer, (void**)&pCPC);
|
||||||
|
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
@ -577,7 +576,7 @@ int win_shadow_wds_init(winShadowSubsystem* subsystem)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
dwCookie = 0;
|
DWORD dwCookie = 0;
|
||||||
subsystem->pSessionEvents = &Shadow_IRDPSessionEvents;
|
subsystem->pSessionEvents = &Shadow_IRDPSessionEvents;
|
||||||
subsystem->pSessionEvents->lpVtbl->AddRef(subsystem->pSessionEvents);
|
subsystem->pSessionEvents->lpVtbl->AddRef(subsystem->pSessionEvents);
|
||||||
hr = pCP->lpVtbl->Advise(pCP, (IUnknown*)subsystem->pSessionEvents, &dwCookie);
|
hr = pCP->lpVtbl->Advise(pCP, (IUnknown*)subsystem->pSessionEvents, &dwCookie);
|
||||||
|
@ -605,8 +604,8 @@ int win_shadow_wds_init(winShadowSubsystem* subsystem)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
width = right - left;
|
long width = right - left;
|
||||||
height = bottom - top;
|
long height = bottom - top;
|
||||||
WLog_INFO(
|
WLog_INFO(
|
||||||
TAG,
|
TAG,
|
||||||
"GetDesktopSharedRect(): left: %ld top: %ld right: %ld bottom: %ld width: %ld height: %ld",
|
"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;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
settings = subsystem->shw->settings;
|
rdpSetting* settings = subsystem->shw->settings;
|
||||||
status = freerdp_assistance_populate_settings_from_assistance_file(file, settings);
|
if (!freerdp_assistance_populate_settings_from_assistance_file(file, settings))
|
||||||
freerdp_settings_set_string(settings, FreeRDP_Domain, "RDP");
|
return -1;
|
||||||
freerdp_settings_set_string(settings, FreeRDP_Username, "Shadow");
|
if (!freerdp_settings_set_string(settings, FreeRDP_Domain, "RDP"))
|
||||||
freerdp_settings_set_bool(settings, FreeRDP_AutoLogonEnabled, TRUE);
|
return -1;
|
||||||
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, width);
|
if (!freerdp_settings_set_string(settings, FreeRDP_Username, "Shadow"))
|
||||||
freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, height);
|
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);
|
status = win_shadow_rdp_start(subsystem);
|
||||||
|
|
||||||
if (status < 0)
|
if (status < 0)
|
||||||
|
|
|
@ -746,14 +746,21 @@ static BOOL shadow_client_logon(freerdp_peer* peer, const SEC_WINNT_AUTH_IDENTIT
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (user)
|
if (user)
|
||||||
freerdp_settings_set_string(settings, FreeRDP_Username, user);
|
{
|
||||||
|
if (!freerdp_settings_set_string(settings, FreeRDP_Username, user))
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
if (domain)
|
if (domain)
|
||||||
freerdp_settings_set_string(settings, FreeRDP_Domain, domain);
|
{
|
||||||
|
if (!freerdp_settings_set_string(settings, FreeRDP_Domain, domain))
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
if (password)
|
if (password)
|
||||||
freerdp_settings_set_string(settings, FreeRDP_Password, password);
|
{
|
||||||
|
if (!freerdp_settings_set_string(settings, FreeRDP_Password, password))
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
rc = TRUE;
|
rc = TRUE;
|
||||||
fail:
|
fail:
|
||||||
free(user);
|
free(user);
|
||||||
|
@ -959,9 +966,12 @@ static UINT shadow_client_rdpgfx_caps_advertise(RdpgfxServerContext* context,
|
||||||
h264 =
|
h264 =
|
||||||
(shadow_encoder_prepare(client->encoder, FREERDP_CODEC_AVC420 | FREERDP_CODEC_AVC444) >= 0);
|
(shadow_encoder_prepare(client->encoder, FREERDP_CODEC_AVC420 | FREERDP_CODEC_AVC444) >= 0);
|
||||||
#else
|
#else
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE);
|
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE))
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE);
|
return rc;
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE);
|
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE))
|
||||||
|
return rc;
|
||||||
|
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE))
|
||||||
|
return rc;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Request full screen update for new gfx channel */
|
/* 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;
|
flags = pdu.capsSet->flags;
|
||||||
|
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE);
|
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE))
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE);
|
return rc;
|
||||||
|
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE))
|
||||||
|
return rc;
|
||||||
|
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxThinClient,
|
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxThinClient,
|
||||||
(flags & RDPGFX_CAPS_FLAG_THINCLIENT) ? TRUE : FALSE);
|
(flags & RDPGFX_CAPS_FLAG_THINCLIENT) ? TRUE
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxSmallCache,
|
: FALSE))
|
||||||
(flags & RDPGFX_CAPS_FLAG_SMALL_CACHE) ? 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
|
#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;
|
pdu.capsSet->flags &= ~RDPGFX_CAPS_FLAG_AVC420_ENABLED;
|
||||||
#else
|
#else
|
||||||
|
|
||||||
if (h264)
|
if (h264)
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264,
|
{
|
||||||
(flags & RDPGFX_CAPS_FLAG_AVC420_ENABLED) ? TRUE
|
if (!freerdp_settings_set_bool(
|
||||||
: FALSE);
|
clientSettings, FreeRDP_GfxH264,
|
||||||
|
(flags & RDPGFX_CAPS_FLAG_AVC420_ENABLED) ? TRUE : FALSE))
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE);
|
{
|
||||||
|
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE))
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return shadow_client_send_caps_confirm(context, client, &pdu);
|
return shadow_client_send_caps_confirm(context, client, &pdu);
|
||||||
|
@ -1058,14 +1081,21 @@ static UINT shadow_client_rdpgfx_caps_advertise(RdpgfxServerContext* context,
|
||||||
pdu.capsSet = ∩︀
|
pdu.capsSet = ∩︀
|
||||||
flags = pdu.capsSet->flags;
|
flags = pdu.capsSet->flags;
|
||||||
|
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE);
|
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444v2, FALSE))
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxAVC444, FALSE);
|
return rc;
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxH264, FALSE);
|
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,
|
if (!freerdp_settings_set_bool(clientSettings, FreeRDP_GfxThinClient,
|
||||||
(flags & RDPGFX_CAPS_FLAG_THINCLIENT) ? TRUE : FALSE);
|
(flags & RDPGFX_CAPS_FLAG_THINCLIENT) ? TRUE
|
||||||
freerdp_settings_set_bool(clientSettings, FreeRDP_GfxSmallCache,
|
: FALSE))
|
||||||
(flags & RDPGFX_CAPS_FLAG_SMALL_CACHE) ? 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);
|
return shadow_client_send_caps_confirm(context, client, &pdu);
|
||||||
}
|
}
|
||||||
|
|
|
@ -399,7 +399,8 @@ int shadow_server_parse_command_line(rdpShadowServer* server, int argc, char** a
|
||||||
}
|
}
|
||||||
CommandLineSwitchCase(arg, "sam-file")
|
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")
|
CommandLineSwitchCase(arg, "log-level")
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue