[client,file] add rdgiskdcproxy to settings
Adds a new option FreeRDP_KerberosRdgIsKdc to manually set the KDC url to the gateway server url
This commit is contained in:
parent
3b7d515f85
commit
3e3ed445b4
@ -1058,9 +1058,11 @@ BOOL freerdp_client_populate_rdp_file_from_settings(rdpFile* file, const rdpSett
|
||||
file->UsbDevicesToRedirect = redirectUsb;
|
||||
|
||||
#endif
|
||||
file->RedirectClipboard = freerdp_settings_get_bool(settings, FreeRDP_RedirectClipboard);
|
||||
file->RedirectPrinters = freerdp_settings_get_bool(settings, FreeRDP_RedirectPrinters);
|
||||
file->RedirectDrives = freerdp_settings_get_bool(settings, FreeRDP_RedirectDrives);
|
||||
file->RedirectClipboard =
|
||||
freerdp_settings_get_bool(settings, FreeRDP_RedirectClipboard) ? 1 : 0;
|
||||
file->RedirectPrinters = freerdp_settings_get_bool(settings, FreeRDP_RedirectPrinters) ? 1 : 0;
|
||||
file->RedirectDrives = freerdp_settings_get_bool(settings, FreeRDP_RedirectDrives) ? 1 : 0;
|
||||
file->RdgIsKdcProxy = freerdp_settings_get_bool(settings, FreeRDP_KerberosRdgIsProxy) ? 1 : 0;
|
||||
file->RedirectComPorts = (freerdp_settings_get_bool(settings, FreeRDP_RedirectSerialPorts) ||
|
||||
freerdp_settings_get_bool(settings, FreeRDP_RedirectParallelPorts));
|
||||
if (!FILE_POPULATE_STRING(&file->DrivesToRedirect, settings, FreeRDP_DrivesToRedirect) ||
|
||||
@ -2132,6 +2134,13 @@ BOOL freerdp_client_populate_settings_from_rdp_file(rdpFile* file, rdpSettings*
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (~((size_t)file->RdgIsKdcProxy))
|
||||
{
|
||||
if (!freerdp_settings_set_bool(settings, FreeRDP_KerberosRdgIsProxy,
|
||||
file->RdgIsKdcProxy != 0))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (file->args->argc > 1)
|
||||
{
|
||||
const char* ConnectionFile = freerdp_settings_get_string(settings, FreeRDP_ConnectionFile);
|
||||
|
@ -721,6 +721,7 @@ typedef struct
|
||||
#define FreeRDP_KerberosCache (1349)
|
||||
#define FreeRDP_KerberosArmor (1350)
|
||||
#define FreeRDP_KerberosKeytab (1351)
|
||||
#define FreeRDP_KerberosRdgIsProxy (1352)
|
||||
#define FreeRDP_IgnoreCertificate (1408)
|
||||
#define FreeRDP_CertificateName (1409)
|
||||
#define FreeRDP_CertificateFile (1410)
|
||||
@ -1249,7 +1250,8 @@ struct rdp_settings
|
||||
ALIGN64 char* KerberosCache; /* 1349 */
|
||||
ALIGN64 char* KerberosArmor; /* 1350 */
|
||||
ALIGN64 char* KerberosKeytab; /* 1351 */
|
||||
UINT64 padding1408[1408 - 1352]; /* 1352 */
|
||||
ALIGN64 BOOL KerberosRdgIsProxy; /* 1352 */
|
||||
UINT64 padding1408[1408 - 1353]; /* 1353 */
|
||||
|
||||
/* Server Certificate */
|
||||
ALIGN64 BOOL IgnoreCertificate; /* 1408 */
|
||||
|
@ -289,6 +289,9 @@ BOOL freerdp_settings_get_bool(const rdpSettings* settings, size_t id)
|
||||
case FreeRDP_JpegCodec:
|
||||
return settings->JpegCodec;
|
||||
|
||||
case FreeRDP_KerberosRdgIsProxy:
|
||||
return settings->KerberosRdgIsProxy;
|
||||
|
||||
case FreeRDP_ListMonitors:
|
||||
return settings->ListMonitors;
|
||||
|
||||
@ -918,6 +921,10 @@ BOOL freerdp_settings_set_bool(rdpSettings* settings, size_t id, BOOL val)
|
||||
settings->JpegCodec = cnv.c;
|
||||
break;
|
||||
|
||||
case FreeRDP_KerberosRdgIsProxy:
|
||||
settings->KerberosRdgIsProxy = cnv.c;
|
||||
break;
|
||||
|
||||
case FreeRDP_ListMonitors:
|
||||
settings->ListMonitors = cnv.c;
|
||||
break;
|
||||
|
@ -132,6 +132,7 @@ static const struct settings_str_entry settings_map[] = {
|
||||
{ FreeRDP_IPv6Enabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_IPv6Enabled" },
|
||||
{ FreeRDP_IgnoreCertificate, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_IgnoreCertificate" },
|
||||
{ FreeRDP_JpegCodec, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_JpegCodec" },
|
||||
{ FreeRDP_KerberosRdgIsProxy, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_KerberosRdgIsProxy" },
|
||||
{ FreeRDP_ListMonitors, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_ListMonitors" },
|
||||
{ FreeRDP_LocalConnection, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_LocalConnection" },
|
||||
{ FreeRDP_LogonErrors, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_LogonErrors" },
|
||||
|
@ -87,6 +87,7 @@ static const size_t bool_list_indices[] = {
|
||||
FreeRDP_IPv6Enabled,
|
||||
FreeRDP_IgnoreCertificate,
|
||||
FreeRDP_JpegCodec,
|
||||
FreeRDP_KerberosRdgIsProxy,
|
||||
FreeRDP_ListMonitors,
|
||||
FreeRDP_LocalConnection,
|
||||
FreeRDP_LogonErrors,
|
||||
|
Loading…
Reference in New Issue
Block a user