[client,common] working REDIRECTION_VERSION6
* REDIRECTION_VERSION6 requires enabled multitransport, enable it * Add a fallback if multitransport was disabled
This commit is contained in:
parent
1bec63c2f2
commit
ab5be61e89
@ -311,7 +311,7 @@ static const COMMAND_LINE_ARGUMENT_A global_cmd_args[] = {
|
|||||||
"Use multiple monitors" },
|
"Use multiple monitors" },
|
||||||
{ "multitouch", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueFalse, NULL, -1, NULL,
|
{ "multitouch", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueFalse, NULL, -1, NULL,
|
||||||
"Redirect multitouch input" },
|
"Redirect multitouch input" },
|
||||||
{ "multitransport", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueFalse, NULL, -1, NULL,
|
{ "multitransport", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL,
|
||||||
"Support multitransport protocol" },
|
"Support multitransport protocol" },
|
||||||
{ "nego", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL,
|
{ "nego", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL,
|
||||||
"protocol security negotiation" },
|
"protocol security negotiation" },
|
||||||
|
@ -2071,6 +2071,16 @@ BOOL gcc_write_client_cluster_data(wStream* s, const rdpMcs* mcs)
|
|||||||
if (settings->RedirectSmartCards && settings->SmartcardLogon)
|
if (settings->RedirectSmartCards && settings->SmartcardLogon)
|
||||||
flags |= REDIRECTED_SMARTCARD;
|
flags |= REDIRECTED_SMARTCARD;
|
||||||
|
|
||||||
|
if (flags & REDIRECTION_SUPPORTED)
|
||||||
|
{
|
||||||
|
/* REDIRECTION_VERSION6 requires multitransport enabled.
|
||||||
|
* if we run without that use REDIRECTION_VERSION5 */
|
||||||
|
if (freerdp_settings_get_bool(settings, FreeRDP_SupportMultitransport))
|
||||||
|
flags |= (REDIRECTION_VERSION6 << 4);
|
||||||
|
else
|
||||||
|
flags |= (REDIRECTION_VERSION5 << 4);
|
||||||
|
}
|
||||||
|
|
||||||
WLog_VRB(TAG, "write ClusterInfoFlags=%s, RedirectedSessionId=0x%08" PRIx32,
|
WLog_VRB(TAG, "write ClusterInfoFlags=%s, RedirectedSessionId=0x%08" PRIx32,
|
||||||
rdp_cluster_info_flags_to_string(flags, buffer, sizeof(buffer)),
|
rdp_cluster_info_flags_to_string(flags, buffer, sizeof(buffer)),
|
||||||
settings->RedirectedSessionId);
|
settings->RedirectedSessionId);
|
||||||
|
@ -375,8 +375,7 @@ rdpSettings* freerdp_settings_new(DWORD flags)
|
|||||||
!freerdp_settings_set_bool(settings, FreeRDP_ServerMode,
|
!freerdp_settings_set_bool(settings, FreeRDP_ServerMode,
|
||||||
(flags & FREERDP_SETTINGS_SERVER_MODE) ? TRUE : FALSE) ||
|
(flags & FREERDP_SETTINGS_SERVER_MODE) ? TRUE : FALSE) ||
|
||||||
!freerdp_settings_set_bool(settings, FreeRDP_WaitForOutputBufferFlush, TRUE) ||
|
!freerdp_settings_set_bool(settings, FreeRDP_WaitForOutputBufferFlush, TRUE) ||
|
||||||
!freerdp_settings_set_uint32(settings, FreeRDP_ClusterInfoFlags,
|
!freerdp_settings_set_uint32(settings, FreeRDP_ClusterInfoFlags, REDIRECTION_SUPPORTED) ||
|
||||||
REDIRECTION_SUPPORTED | (REDIRECTION_VERSION5 << 2)) ||
|
|
||||||
!freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, 1024) ||
|
!freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, 1024) ||
|
||||||
!freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, 768) ||
|
!freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, 768) ||
|
||||||
!freerdp_settings_set_bool(settings, FreeRDP_Workarea, FALSE) ||
|
!freerdp_settings_set_bool(settings, FreeRDP_Workarea, FALSE) ||
|
||||||
@ -460,6 +459,13 @@ rdpSettings* freerdp_settings_new(DWORD flags)
|
|||||||
if (!freerdp_settings_set_pointer_len(settings, FreeRDP_MonitorIds, NULL, 0))
|
if (!freerdp_settings_set_pointer_len(settings, FreeRDP_MonitorIds, NULL, 0))
|
||||||
goto out_fail;
|
goto out_fail;
|
||||||
|
|
||||||
|
if (!freerdp_settings_set_uint32(settings, FreeRDP_MultitransportFlags,
|
||||||
|
(TRANSPORT_TYPE_UDP_FECR | TRANSPORT_TYPE_UDP_FECL |
|
||||||
|
TRANSPORT_TYPE_UDP_PREFERRED | SOFTSYNC_TCP_TO_UDP)))
|
||||||
|
goto out_fail;
|
||||||
|
if (!freerdp_settings_set_bool(settings, FreeRDP_SupportMultitransport, TRUE))
|
||||||
|
goto out_fail;
|
||||||
|
|
||||||
if (!settings_get_computer_name(settings))
|
if (!settings_get_computer_name(settings))
|
||||||
goto out_fail;
|
goto out_fail;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user