@@ -70,6 +70,7 @@ const char* GUAC_SSH_CLIENT_ARGS[] = {
7070 "recording-include-clipboard" ,
7171 "create-recording-path" ,
7272 "recording-write-existing" ,
73+ "require-recording" ,
7374 "read-only" ,
7475 "server-alive-interval" ,
7576 "backspace" ,
@@ -277,6 +278,12 @@ enum SSH_ARGS_IDX {
277278 */
278279 IDX_RECORDING_WRITE_EXISTING ,
279280
281+ /**
282+ * Whether recording is required. If set to "true", the connection will
283+ * be closed if the recording cannot be created for any reason.
284+ */
285+ IDX_REQUIRE_RECORDING ,
286+
280287 /**
281288 * "true" if this connection should be read-only (user input should be
282289 * dropped), "false" or blank otherwise.
@@ -562,6 +569,11 @@ guac_ssh_settings* guac_ssh_parse_args(guac_user* user,
562569 guac_user_parse_args_boolean (user , GUAC_SSH_CLIENT_ARGS , argv ,
563570 IDX_RECORDING_WRITE_EXISTING , false);
564571
572+ /* Parse require recording flag */
573+ settings -> require_recording =
574+ guac_user_parse_args_boolean (user , GUAC_SSH_CLIENT_ARGS , argv ,
575+ IDX_REQUIRE_RECORDING , false);
576+
565577 /* Parse server alive interval */
566578 settings -> server_alive_interval =
567579 guac_user_parse_args_int (user , GUAC_SSH_CLIENT_ARGS , argv ,
0 commit comments