GUACAMOLE-381: Add copy/paste disable flags for all supported protocols.
This commit is contained in:
parent
802e5b5547
commit
7d2b7126db
@ -50,6 +50,8 @@ const char* GUAC_KUBERNETES_CLIENT_ARGS[] = {
|
|||||||
"read-only",
|
"read-only",
|
||||||
"backspace",
|
"backspace",
|
||||||
"scrollback",
|
"scrollback",
|
||||||
|
"disable-copy",
|
||||||
|
"disable-paste",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -216,6 +218,20 @@ enum KUBERNETES_ARGS_IDX {
|
|||||||
*/
|
*/
|
||||||
IDX_SCROLLBACK,
|
IDX_SCROLLBACK,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set to "true",
|
||||||
|
* it will not be possible to copy data from the terminal to the client
|
||||||
|
* using the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_COPY,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set to "true", it
|
||||||
|
* will not be possible to paste data from the client to the terminal using
|
||||||
|
* the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_PASTE,
|
||||||
|
|
||||||
KUBERNETES_ARGS_COUNT
|
KUBERNETES_ARGS_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -364,6 +380,16 @@ guac_kubernetes_settings* guac_kubernetes_parse_args(guac_user* user,
|
|||||||
guac_user_parse_args_int(user, GUAC_KUBERNETES_CLIENT_ARGS, argv,
|
guac_user_parse_args_int(user, GUAC_KUBERNETES_CLIENT_ARGS, argv,
|
||||||
IDX_BACKSPACE, 127);
|
IDX_BACKSPACE, 127);
|
||||||
|
|
||||||
|
/* Parse clipboard copy disable flag */
|
||||||
|
settings->disable_copy =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_KUBERNETES_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_COPY, false);
|
||||||
|
|
||||||
|
/* Parse clipboard paste disable flag */
|
||||||
|
settings->disable_paste =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_KUBERNETES_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_PASTE, false);
|
||||||
|
|
||||||
/* Parsing was successful */
|
/* Parsing was successful */
|
||||||
return settings;
|
return settings;
|
||||||
|
|
||||||
|
@ -170,6 +170,20 @@ typedef struct guac_kubernetes_settings {
|
|||||||
*/
|
*/
|
||||||
int resolution;
|
int resolution;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to copy data from the terminal to the client using the
|
||||||
|
* clipboard.
|
||||||
|
*/
|
||||||
|
bool disable_copy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to paste data from the client to the terminal using the
|
||||||
|
* clipboard.
|
||||||
|
*/
|
||||||
|
bool disable_paste;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The path in which the typescript should be saved, if enabled. If no
|
* The path in which the typescript should be saved, if enabled. If no
|
||||||
* typescript should be saved, this will be NULL.
|
* typescript should be saved, this will be NULL.
|
||||||
|
@ -118,6 +118,8 @@ const char* GUAC_RDP_CLIENT_ARGS[] = {
|
|||||||
"load-balance-info",
|
"load-balance-info",
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
"disable-copy",
|
||||||
|
"disable-paste",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -545,6 +547,20 @@ enum RDP_ARGS_IDX {
|
|||||||
IDX_LOAD_BALANCE_INFO,
|
IDX_LOAD_BALANCE_INFO,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set to "true",
|
||||||
|
* it will not be possible to copy data from the remote desktop to the
|
||||||
|
* client using the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_COPY,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set to "true", it
|
||||||
|
* will not be possible to paste data from the client to the remote desktop
|
||||||
|
* using the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_PASTE,
|
||||||
|
|
||||||
RDP_ARGS_COUNT
|
RDP_ARGS_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1007,6 +1023,16 @@ guac_rdp_settings* guac_rdp_parse_args(guac_user* user,
|
|||||||
IDX_LOAD_BALANCE_INFO, NULL);
|
IDX_LOAD_BALANCE_INFO, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Parse clipboard copy disable flag */
|
||||||
|
settings->disable_copy =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_COPY, 0);
|
||||||
|
|
||||||
|
/* Parse clipboard paste disable flag */
|
||||||
|
settings->disable_paste =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_PASTE, 0);
|
||||||
|
|
||||||
/* Success */
|
/* Success */
|
||||||
return settings;
|
return settings;
|
||||||
|
|
||||||
|
@ -268,6 +268,20 @@ typedef struct guac_rdp_settings {
|
|||||||
*/
|
*/
|
||||||
char** svc_names;
|
char** svc_names;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to copy data from the remote desktop to the client using the
|
||||||
|
* clipboard.
|
||||||
|
*/
|
||||||
|
int disable_copy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to paste data from the client to the remote desktop using
|
||||||
|
* the clipboard.
|
||||||
|
*/
|
||||||
|
int disable_paste;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether the desktop wallpaper should be visible. If unset, the desktop
|
* Whether the desktop wallpaper should be visible. If unset, the desktop
|
||||||
* wallpaper will be hidden, reducing the amount of bandwidth required.
|
* wallpaper will be hidden, reducing the amount of bandwidth required.
|
||||||
|
@ -62,6 +62,8 @@ const char* GUAC_SSH_CLIENT_ARGS[] = {
|
|||||||
"scrollback",
|
"scrollback",
|
||||||
"locale",
|
"locale",
|
||||||
"timezone",
|
"timezone",
|
||||||
|
"disable-copy",
|
||||||
|
"disable-paste",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -258,6 +260,20 @@ enum SSH_ARGS_IDX {
|
|||||||
*/
|
*/
|
||||||
IDX_TIMEZONE,
|
IDX_TIMEZONE,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set to "true",
|
||||||
|
* it will not be possible to copy data from the terminal to the client
|
||||||
|
* using the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_COPY,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set to "true", it
|
||||||
|
* will not be possible to paste data from the client to the terminal using
|
||||||
|
* the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_PASTE,
|
||||||
|
|
||||||
SSH_ARGS_COUNT
|
SSH_ARGS_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -426,6 +442,16 @@ guac_ssh_settings* guac_ssh_parse_args(guac_user* user,
|
|||||||
guac_user_parse_args_string(user, GUAC_SSH_CLIENT_ARGS, argv,
|
guac_user_parse_args_string(user, GUAC_SSH_CLIENT_ARGS, argv,
|
||||||
IDX_TIMEZONE, NULL);
|
IDX_TIMEZONE, NULL);
|
||||||
|
|
||||||
|
/* Parse clipboard copy disable flag */
|
||||||
|
settings->disable_copy =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_SSH_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_COPY, false);
|
||||||
|
|
||||||
|
/* Parse clipboard paste disable flag */
|
||||||
|
settings->disable_paste =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_SSH_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_PASTE, false);
|
||||||
|
|
||||||
/* Parsing was successful */
|
/* Parsing was successful */
|
||||||
return settings;
|
return settings;
|
||||||
|
|
||||||
|
@ -155,6 +155,20 @@ typedef struct guac_ssh_settings {
|
|||||||
*/
|
*/
|
||||||
int resolution;
|
int resolution;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to copy data from the terminal to the client using the
|
||||||
|
* clipboard.
|
||||||
|
*/
|
||||||
|
bool disable_copy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to paste data from the client to the terminal using the
|
||||||
|
* clipboard.
|
||||||
|
*/
|
||||||
|
bool disable_paste;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether SFTP is enabled.
|
* Whether SFTP is enabled.
|
||||||
*/
|
*/
|
||||||
|
@ -55,6 +55,8 @@ const char* GUAC_TELNET_CLIENT_ARGS[] = {
|
|||||||
"scrollback",
|
"scrollback",
|
||||||
"login-success-regex",
|
"login-success-regex",
|
||||||
"login-failure-regex",
|
"login-failure-regex",
|
||||||
|
"disable-copy",
|
||||||
|
"disable-paste",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -216,6 +218,20 @@ enum TELNET_ARGS_IDX {
|
|||||||
*/
|
*/
|
||||||
IDX_LOGIN_FAILURE_REGEX,
|
IDX_LOGIN_FAILURE_REGEX,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set to "true",
|
||||||
|
* it will not be possible to copy data from the terminal to the client
|
||||||
|
* using the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_COPY,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set to "true", it
|
||||||
|
* will not be possible to paste data from the client to the terminal using
|
||||||
|
* the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_PASTE,
|
||||||
|
|
||||||
TELNET_ARGS_COUNT
|
TELNET_ARGS_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -428,6 +444,16 @@ guac_telnet_settings* guac_telnet_parse_args(guac_user* user,
|
|||||||
guac_user_parse_args_string(user, GUAC_TELNET_CLIENT_ARGS, argv,
|
guac_user_parse_args_string(user, GUAC_TELNET_CLIENT_ARGS, argv,
|
||||||
IDX_TERMINAL_TYPE, "linux");
|
IDX_TERMINAL_TYPE, "linux");
|
||||||
|
|
||||||
|
/* Parse clipboard copy disable flag */
|
||||||
|
settings->disable_copy =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_TELNET_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_COPY, false);
|
||||||
|
|
||||||
|
/* Parse clipboard paste disable flag */
|
||||||
|
settings->disable_paste =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_TELNET_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_PASTE, false);
|
||||||
|
|
||||||
/* Parsing was successful */
|
/* Parsing was successful */
|
||||||
return settings;
|
return settings;
|
||||||
|
|
||||||
|
@ -171,6 +171,20 @@ typedef struct guac_telnet_settings {
|
|||||||
*/
|
*/
|
||||||
int resolution;
|
int resolution;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to copy data from the terminal to the client using the
|
||||||
|
* clipboard.
|
||||||
|
*/
|
||||||
|
bool disable_copy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to paste data from the client to the terminal using the
|
||||||
|
* clipboard.
|
||||||
|
*/
|
||||||
|
bool disable_paste;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The path in which the typescript should be saved, if enabled. If no
|
* The path in which the typescript should be saved, if enabled. If no
|
||||||
* typescript should be saved, this will be NULL.
|
* typescript should be saved, this will be NULL.
|
||||||
|
@ -77,7 +77,8 @@ const char* GUAC_VNC_CLIENT_ARGS[] = {
|
|||||||
"recording-exclude-mouse",
|
"recording-exclude-mouse",
|
||||||
"recording-include-keys",
|
"recording-include-keys",
|
||||||
"create-recording-path",
|
"create-recording-path",
|
||||||
|
"disable-copy",
|
||||||
|
"disable-paste",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -298,6 +299,20 @@ enum VNC_ARGS_IDX {
|
|||||||
*/
|
*/
|
||||||
IDX_CREATE_RECORDING_PATH,
|
IDX_CREATE_RECORDING_PATH,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set to "true",
|
||||||
|
* it will not be possible to copy data from the remote desktop to the
|
||||||
|
* client using the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_COPY,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set to "true", it
|
||||||
|
* will not be possible to paste data from the client to the remote desktop
|
||||||
|
* using the clipboard. By default, clipboard access is not blocked.
|
||||||
|
*/
|
||||||
|
IDX_DISABLE_PASTE,
|
||||||
|
|
||||||
VNC_ARGS_COUNT
|
VNC_ARGS_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -493,6 +508,16 @@ guac_vnc_settings* guac_vnc_parse_args(guac_user* user,
|
|||||||
guac_user_parse_args_boolean(user, GUAC_VNC_CLIENT_ARGS, argv,
|
guac_user_parse_args_boolean(user, GUAC_VNC_CLIENT_ARGS, argv,
|
||||||
IDX_CREATE_RECORDING_PATH, false);
|
IDX_CREATE_RECORDING_PATH, false);
|
||||||
|
|
||||||
|
/* Parse clipboard copy disable flag */
|
||||||
|
settings->disable_copy =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_VNC_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_COPY, false);
|
||||||
|
|
||||||
|
/* Parse clipboard paste disable flag */
|
||||||
|
settings->disable_paste =
|
||||||
|
guac_user_parse_args_boolean(user, GUAC_VNC_CLIENT_ARGS, argv,
|
||||||
|
IDX_DISABLE_PASTE, false);
|
||||||
|
|
||||||
return settings;
|
return settings;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -127,6 +127,20 @@ typedef struct guac_vnc_settings {
|
|||||||
*/
|
*/
|
||||||
char* clipboard_encoding;
|
char* clipboard_encoding;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether outbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to copy data from the remote desktop to the client using the
|
||||||
|
* clipboard.
|
||||||
|
*/
|
||||||
|
bool disable_copy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether inbound clipboard access should be blocked. If set, it will not
|
||||||
|
* be possible to paste data from the client to the remote desktop using
|
||||||
|
* the clipboard.
|
||||||
|
*/
|
||||||
|
bool disable_paste;
|
||||||
|
|
||||||
#ifdef ENABLE_COMMON_SSH
|
#ifdef ENABLE_COMMON_SSH
|
||||||
/**
|
/**
|
||||||
* Whether SFTP should be enabled for the VNC connection.
|
* Whether SFTP should be enabled for the VNC connection.
|
||||||
|
Loading…
Reference in New Issue
Block a user