+
+ if (argv[IDX_SECURITY][0] != '\0') {
+ char * p = argv[IDX_SECURITY];
+ settings->rdp_security = false;
+ settings->tls_security = false;
+ settings->nla_security = false;
+ while (*p) {
+ /* skip blanks, and commas */
+ while (*p && (*p==' ' || *p==','))
+ p++;
+ if (!*p)
+ break;
+ if (!strncmp(p, "rdp", 3))
+ settings->rdp_security = true;
+ else if (!strncmp(p, "tls", 3))
+ settings->tls_security = true;
+ else if (!strncmp(p, "nla", 3))
+ settings->nla_security = true;
+ else if (!strncmp(p, "all", 3)) {
+ settings->rdp_security = true;
+ settings->tls_security = true;
+ settings->nla_security = true;
+ }
+ while (*p && *p!=' ' && *p!=',')
+ p++;
+ }
+ }
+
+ if (settings->rdp_security) {
+ settings->encryption = true;
+ settings->encryption_method = ENCRYPTION_METHOD_40BIT | ENCRYPTION_METHOD_128BIT | ENCRYPTION_METHOD_FIPS;
+ settings->encryption_level = ENCRYPTION_LEVEL_CLIENT_COMPATIBLE;
+ }