GUACAMOLE-600: Add support for setting the FreeRDP TcpAckTimeout setting.
This commit is contained in:
parent
47b9360d46
commit
ca0fc75f9b
@ -54,6 +54,7 @@ const char fips_nla_mode_warning[] = (
|
|||||||
const char* GUAC_RDP_CLIENT_ARGS[] = {
|
const char* GUAC_RDP_CLIENT_ARGS[] = {
|
||||||
"hostname",
|
"hostname",
|
||||||
"port",
|
"port",
|
||||||
|
"server-timeout",
|
||||||
GUAC_RDP_ARGV_DOMAIN,
|
GUAC_RDP_ARGV_DOMAIN,
|
||||||
GUAC_RDP_ARGV_USERNAME,
|
GUAC_RDP_ARGV_USERNAME,
|
||||||
GUAC_RDP_ARGV_PASSWORD,
|
GUAC_RDP_ARGV_PASSWORD,
|
||||||
@ -159,6 +160,11 @@ enum RDP_ARGS_IDX {
|
|||||||
*/
|
*/
|
||||||
IDX_PORT,
|
IDX_PORT,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The amount of time to wait for the server to respond, in seconds.
|
||||||
|
*/
|
||||||
|
IDX_SERVER_TIMEOUT,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The domain of the user logging in.
|
* The domain of the user logging in.
|
||||||
*/
|
*/
|
||||||
@ -780,6 +786,11 @@ guac_rdp_settings* guac_rdp_parse_args(guac_user* user,
|
|||||||
guac_user_parse_args_int(user, GUAC_RDP_CLIENT_ARGS, argv, IDX_PORT,
|
guac_user_parse_args_int(user, GUAC_RDP_CLIENT_ARGS, argv, IDX_PORT,
|
||||||
settings->security_mode == GUAC_SECURITY_VMCONNECT ? RDP_DEFAULT_VMCONNECT_PORT : RDP_DEFAULT_PORT);
|
settings->security_mode == GUAC_SECURITY_VMCONNECT ? RDP_DEFAULT_VMCONNECT_PORT : RDP_DEFAULT_PORT);
|
||||||
|
|
||||||
|
/* Look for timeout settings and parse or set defaults. */
|
||||||
|
settings->server_timeout =
|
||||||
|
guac_user_parse_args_int(user, GUAC_RDP_CLIENT_ARGS, argv,
|
||||||
|
IDX_SERVER_TIMEOUT, RDP_DEFAULT_SERVER_TIMEOUT);
|
||||||
|
|
||||||
guac_user_log(user, GUAC_LOG_DEBUG,
|
guac_user_log(user, GUAC_LOG_DEBUG,
|
||||||
"User resolution is %ix%i at %i DPI",
|
"User resolution is %ix%i at %i DPI",
|
||||||
user->info.optimal_width,
|
user->info.optimal_width,
|
||||||
@ -1424,6 +1435,7 @@ void guac_rdp_push_settings(guac_client* client,
|
|||||||
/* Connection */
|
/* Connection */
|
||||||
rdp_settings->ServerHostname = guac_strdup(guac_settings->hostname);
|
rdp_settings->ServerHostname = guac_strdup(guac_settings->hostname);
|
||||||
rdp_settings->ServerPort = guac_settings->port;
|
rdp_settings->ServerPort = guac_settings->port;
|
||||||
|
rdp_settings->TcpAckTimeout = guac_settings->server_timeout * 1000;
|
||||||
|
|
||||||
/* Session */
|
/* Session */
|
||||||
rdp_settings->ColorDepth = guac_settings->color_depth;
|
rdp_settings->ColorDepth = guac_settings->color_depth;
|
||||||
|
@ -33,6 +33,11 @@
|
|||||||
*/
|
*/
|
||||||
#define RDP_CLIENT_HOSTNAME_SIZE 32
|
#define RDP_CLIENT_HOSTNAME_SIZE 32
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The default server response timeout, in seconds.
|
||||||
|
*/
|
||||||
|
#define RDP_DEFAULT_SERVER_TIMEOUT 10
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The default RDP port.
|
* The default RDP port.
|
||||||
*/
|
*/
|
||||||
@ -156,6 +161,11 @@ typedef struct guac_rdp_settings {
|
|||||||
*/
|
*/
|
||||||
int port;
|
int port;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The timeout, in seconds, to wait for the remote host to respond.
|
||||||
|
*/
|
||||||
|
int server_timeout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The domain of the user logging in.
|
* The domain of the user logging in.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user