}
while ((arg = CommandLineFindNextArgumentA(arg)) != NULL);
- free(settings->Username);
-
- if (!settings->Domain && user)
+ if (!settings->Username && user)
{
- BOOL ret;
- free(settings->Domain);
- ret = freerdp_parse_username(user, &settings->Username, &settings->Domain);
- free(user);
+ free(settings->Username);
+ if (!settings->Domain && user)
+ {
+ BOOL ret;
+ free(settings->Domain);
- if (!ret)
- return COMMAND_LINE_ERROR;
+ ret = freerdp_parse_username(user, &settings->Username, &settings->Domain);
+ free(user);
+ if (!ret)
+ return COMMAND_LINE_ERROR;
+ }
+ else
+ settings->Username = user;
}
- else
- settings->Username = user;
free(settings->GatewayUsername);
tmp = &file->Username;
else if (_stricmp(name, "domain") == 0)
tmp = &file->Domain;
+ else if (_stricmp(name, "password") == 0)
+ tmp = &file->Password;
else if (_stricmp(name, "full address") == 0)
tmp = &file->FullAddress;
else if (_stricmp(name, "alternate full address") == 0)
{
SETTING_MODIFIED_SET_STRING(file->Domain, settings, Domain);
SETTING_MODIFIED_SET_STRING(file->Username, settings, Username);
+ SETTING_MODIFIED_SET_STRING(file->Password, settings, Password);
SETTING_MODIFIED_SET(file->ServerPort, settings, ServerPort);
SETTING_MODIFIED_SET_STRING(file->FullAddress, settings, ServerHostname);
SETTING_MODIFIED_SET(file->DesktopWidth, settings, DesktopWidth);
free(domain);
}
+ if (~((size_t)file->Password))
+ {
+ if (freerdp_set_param_string(settings, FreeRDP_Password, file->Password) != 0)
+ return FALSE;
+ }
+
if (~((size_t) file->FullAddress))
{
int port = -1;
freerdp_client_file_string_check_free(file->Username);
freerdp_client_file_string_check_free(file->Domain);
+ freerdp_client_file_string_check_free(file->Password);
freerdp_client_file_string_check_free(file->FullAddress);
freerdp_client_file_string_check_free(file->AlternateFullAddress);
freerdp_client_file_string_check_free(file->UsbDevicesToRedirect);