From 8df50f44b6567f83ce03b94f897311d60bdbe460 Mon Sep 17 00:00:00 2001 From: David Fort Date: Mon, 1 Dec 2025 12:10:24 +0100 Subject: [PATCH] Fix remote credential guard channel loading This patch fixes the loading of the RCG channel. It also adds a guard so the /remoteGuard cmdline doesn't work if the channel is not built in. --- client/common/cmdline.c | 2 ++ client/common/cmdline.h | 2 ++ include/config/config.h.in | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/client/common/cmdline.c b/client/common/cmdline.c index 352de99be..6a5216eef 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -4860,6 +4860,7 @@ static int parse_command_line(rdpSettings* settings, const COMMAND_LINE_ARGUMENT if (!freerdp_settings_set_bool(settings, FreeRDP_RestrictedAdminModeRequired, enable)) return fail_at(arg, COMMAND_LINE_ERROR); } +#ifndef CHANNEL_RDPEAR_CLIENT CommandLineSwitchCase(arg, "remoteGuard") { if (!freerdp_settings_set_bool(settings, FreeRDP_RemoteCredentialGuard, TRUE)) @@ -4867,6 +4868,7 @@ static int parse_command_line(rdpSettings* settings, const COMMAND_LINE_ARGUMENT if (!freerdp_settings_set_bool(settings, FreeRDP_ExtSecurity, TRUE)) return fail_at(arg, COMMAND_LINE_ERROR); } +#endif CommandLineSwitchCase(arg, "pth") { if (!freerdp_settings_set_bool(settings, FreeRDP_ConsoleSession, TRUE)) diff --git a/client/common/cmdline.h b/client/common/cmdline.h index 5c2db633f..bb272abd5 100644 --- a/client/common/cmdline.h +++ b/client/common/cmdline.h @@ -404,8 +404,10 @@ static const COMMAND_LINE_ARGUMENT_A global_cmd_args[] = { "connecting to a buggy server" }, { "restricted-admin", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, "restrictedAdmin", "Restricted admin mode" }, +#ifndef CHANNEL_RDPEAR_CLIENT { "remoteGuard", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, "remoteGuard", "Remote guard credentials" }, +#endif { "rfx", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL, "RemoteFX" }, { "rfx-mode", COMMAND_LINE_VALUE_REQUIRED, "[image|video]", NULL, NULL, -1, NULL, "RemoteFX mode" }, diff --git a/include/config/config.h.in b/include/config/config.h.in index ccc9dc53a..fe27a5f87 100644 --- a/include/config/config.h.in +++ b/include/config/config.h.in @@ -89,6 +89,7 @@ #cmakedefine CHANNEL_DRIVE #cmakedefine CHANNEL_DRIVE_CLIENT #cmakedefine CHANNEL_DRIVE_SERVER + #cmakedefine CHANNEL_ECHO #cmakedefine CHANNEL_ECHO_CLIENT #cmakedefine CHANNEL_ECHO_SERVER @@ -134,6 +135,9 @@ #cmakedefine CHANNEL_RDPECAM #cmakedefine CHANNEL_RDPECAM_CLIENT #cmakedefine CHANNEL_RDPECAM_SERVER +#cmakedefine CHANNEL_RDPEAR +#cmakedefine CHANNEL_RDPEAR_CLIENT +#cmakedefine CHANNEL_RDPEAR_SERVER #cmakedefine CHANNEL_RDPEI #cmakedefine CHANNEL_RDPEI_CLIENT #cmakedefine CHANNEL_RDPEI_SERVER