X-Git-Url: http://git.alex.org.uk diff --git a/libfreerdp-utils/args.c b/libfreerdp-utils/args.c index cf10519..77d4036 100644 --- a/libfreerdp-utils/args.c +++ b/libfreerdp-utils/args.c @@ -95,6 +95,7 @@ int freerdp_parse_args(rdpSettings* settings, int argc, char** argv, " --disable-full-window-drag: disables full window drag\n" " --disable-menu-animations: disables menu animations\n" " --disable-theming: disables theming\n" + " --no-nego: disable negotiation of security layer and enforce highest enabled security protocol\n" " --no-rdp: disable Standard RDP encryption\n" " --no-tls: disable TLS encryption\n" " --no-nla: disable network level authentication\n" @@ -102,6 +103,8 @@ int freerdp_parse_args(rdpSettings* settings, int argc, char** argv, " --ignore-certificate: ignore verification of logon certificate\n" " --sec: force protocol security (rdp, tls or nla)\n" " --secure-checksum: use salted checksums with Standard RDP encryption\n" + " --pcid: preconnection id\n" + " --pcb: preconnection blob\n" " --version: print version information\n" "\n", argv[0]); return FREERDP_ARGS_PARSE_HELP; //TODO: What is the correct return @@ -532,6 +535,10 @@ int freerdp_parse_args(rdpSettings* settings, int argc, char** argv, return FREERDP_ARGS_PARSE_FAILURE; } } + else if (strcmp("--no-nego", argv[index]) == 0) + { + settings->security_layer_negotiation = false; + } else if (strcmp("--plugin", argv[index]) == 0) { index++; @@ -621,6 +628,28 @@ int freerdp_parse_args(rdpSettings* settings, int argc, char** argv, { settings->secure_checksum = true; } + else if (strcmp("--pcid", argv[index]) == 0) + { + index++; + if (index == argc) + { + printf("missing preconnection id value\n"); + return -1; + } + settings->send_preconnection_pdu = true; + settings->preconnection_id = atoi(argv[index]); + } + else if (strcmp("--pcb", argv[index]) == 0) + { + index++; + if (index == argc) + { + printf("missing preconnection blob value\n"); + return -1; + } + settings->send_preconnection_pdu = true; + settings->preconnection_blob = xstrdup(argv[index]); + } else if (strcmp("--version", argv[index]) == 0) { printf("This is FreeRDP version %s\n", FREERDP_VERSION_FULL);