diff --git a/server/shadow/shadow.c b/server/shadow/shadow.c index 849a3a1e9..7a0b24811 100644 --- a/server/shadow/shadow.c +++ b/server/shadow/shadow.c @@ -80,6 +80,9 @@ int main(int argc, char** argv) "Kerberos host ccache file for NLA authentication" }, { "tls-secrets-file", COMMAND_LINE_VALUE_REQUIRED, "", NULL, NULL, -1, NULL, "file where tls secrets shall be stored" }, + { "nsc", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, "Allow NSC codec" }, + { "rfx", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, + "Allow RFX surface bits" }, { "gfx", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, "Allow GFX pipeline" }, { "gfx-progressive", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, diff --git a/server/shadow/shadow_server.c b/server/shadow/shadow_server.c index 82d96064f..0ec78fbd8 100644 --- a/server/shadow/shadow_server.c +++ b/server/shadow/shadow_server.c @@ -412,6 +412,17 @@ int shadow_server_parse_command_line(rdpShadowServer* server, int argc, char** a if (!WLog_AddStringLogFilters(arg->Value)) return COMMAND_LINE_ERROR; } + CommandLineSwitchCase(arg, "nsc") + { + if (!freerdp_settings_set_bool(settings, FreeRDP_NSCodec, arg->Value ? TRUE : FALSE)) + return COMMAND_LINE_ERROR; + } + CommandLineSwitchCase(arg, "rfx") + { + if (!freerdp_settings_set_bool(settings, FreeRDP_RemoteFxCodec, + arg->Value ? TRUE : FALSE)) + return COMMAND_LINE_ERROR; + } CommandLineSwitchCase(arg, "gfx") { if (!freerdp_settings_set_bool(settings, FreeRDP_SupportGraphicsPipeline,