diff --git a/client/common/cmdline.c b/client/common/cmdline.c index de16953d8..a51ec488e 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -2831,6 +2831,15 @@ int freerdp_client_settings_parse_command_line_arguments(rdpSettings* settings, settings->ParentWindowId = (UINT64)val; } + CommandLineSwitchCase(arg, "client-build-number") + { + ULONGLONG val; + + if (!value_to_uint(arg->Value, &val, 0, UINT32_MAX)) + return COMMAND_LINE_ERROR_UNEXPECTED_VALUE; + if (!freerdp_settings_set_uint32(settings, FreeRDP_ClientBuild, (UINT32)val)) + return COMMAND_LINE_ERROR_UNEXPECTED_VALUE; + } CommandLineSwitchCase(arg, "bitmap-cache") { settings->BitmapCacheEnabled = enable; diff --git a/client/common/cmdline.h b/client/common/cmdline.h index e47a26449..eb843cc5c 100644 --- a/client/common/cmdline.h +++ b/client/common/cmdline.h @@ -75,6 +75,8 @@ static const COMMAND_LINE_ARGUMENT_A args[] = { "Certificate name" }, { "cert-tofu", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL, "Automatically accept certificate on first connect" }, + { "client-build-number", COMMAND_LINE_VALUE_REQUIRED, "", NULL, NULL, -1, NULL, + "Client Build Number sent to server (influences smartcard behaviour, see [MS-RDPESC])" }, { "client-hostname", COMMAND_LINE_VALUE_REQUIRED, "", NULL, NULL, -1, NULL, "Client Hostname to send to server" }, { "clipboard", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL,