[core,aad] unify client id

* use a setting to make it configurable
This commit is contained in:
akallabeth
2024-10-29 08:42:03 +01:00
parent b2756842b2
commit 1905117465
7 changed files with 33 additions and 10 deletions

View File

@@ -482,7 +482,10 @@ struct rdp_settings
SETTINGS_DEPRECATED(ALIGN64 BOOL GatewayIgnoreRedirectionPolicy); /** 2012
* @since version 3.4.0
*/
UINT64 padding2015[2015 - 2013]; /* 2013 */
SETTINGS_DEPRECATED(ALIGN64 char* GatewayAvdClientID); /** 2013
* @since version 3.10.0
*/
UINT64 padding2015[2015 - 2014]; /* 2014 */
/* Proxy */
SETTINGS_DEPRECATED(ALIGN64 UINT32 ProxyType); /* 2015 */

View File

@@ -2772,6 +2772,9 @@ const char* freerdp_settings_get_string(const rdpSettings* settings,
case FreeRDP_GatewayAvdArmpath:
return settings->GatewayAvdArmpath;
case FreeRDP_GatewayAvdClientID:
return settings->GatewayAvdClientID;
case FreeRDP_GatewayAvdDiagnosticserviceurl:
return settings->GatewayAvdDiagnosticserviceurl;
@@ -3081,6 +3084,9 @@ char* freerdp_settings_get_string_writable(rdpSettings* settings, FreeRDP_Settin
case FreeRDP_GatewayAvdArmpath:
return settings->GatewayAvdArmpath;
case FreeRDP_GatewayAvdClientID:
return settings->GatewayAvdClientID;
case FreeRDP_GatewayAvdDiagnosticserviceurl:
return settings->GatewayAvdDiagnosticserviceurl;
@@ -3400,6 +3406,9 @@ BOOL freerdp_settings_set_string_(rdpSettings* settings, FreeRDP_Settings_Keys_S
case FreeRDP_GatewayAvdArmpath:
return update_string_(&settings->GatewayAvdArmpath, cnv.c, len);
case FreeRDP_GatewayAvdClientID:
return update_string_(&settings->GatewayAvdClientID, cnv.c, len);
case FreeRDP_GatewayAvdDiagnosticserviceurl:
return update_string_(&settings->GatewayAvdDiagnosticserviceurl, cnv.c, len);
@@ -3735,6 +3744,9 @@ BOOL freerdp_settings_set_string_copy_(rdpSettings* settings, FreeRDP_Settings_K
case FreeRDP_GatewayAvdArmpath:
return update_string_copy_(&settings->GatewayAvdArmpath, cnv.cc, len, cleanup);
case FreeRDP_GatewayAvdClientID:
return update_string_copy_(&settings->GatewayAvdClientID, cnv.cc, len, cleanup);
case FreeRDP_GatewayAvdDiagnosticserviceurl:
return update_string_copy_(&settings->GatewayAvdDiagnosticserviceurl, cnv.cc, len,
cleanup);

View File

@@ -490,6 +490,7 @@ static const struct settings_str_entry settings_map[] = {
{ FreeRDP_GatewayAvdActivityhint, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_GatewayAvdActivityhint" },
{ FreeRDP_GatewayAvdArmpath, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_GatewayAvdArmpath" },
{ FreeRDP_GatewayAvdClientID, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_GatewayAvdClientID" },
{ FreeRDP_GatewayAvdDiagnosticserviceurl, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_GatewayAvdDiagnosticserviceurl" },
{ FreeRDP_GatewayAvdGeo, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_GatewayAvdGeo" },

View File

@@ -854,17 +854,13 @@ cleanup:
WINPR_ATTR_MALLOC(WINPR_JSON_Delete, 1)
static WINPR_JSON* aad_get_wellknown(wLog* log, const char* base, const char* tenantid)
{
const char* curbase = "login.microsoftonline.com";
const char* curtenantid = "common";
if (tenantid)
curtenantid = tenantid;
if (base)
curbase = base;
WINPR_ASSERT(base);
WINPR_ASSERT(tenantid);
char* str = NULL;
size_t len = 0;
winpr_asprintf(&str, &len, "https://%s/%s/v2.0/.well-known/openid-configuration", curbase,
curtenantid);
winpr_asprintf(&str, &len, "https://%s/%s/v2.0/.well-known/openid-configuration", base,
tenantid);
if (!str)
{

View File

@@ -821,6 +821,14 @@ rdpSettings* freerdp_settings_new(DWORD flags)
if (!server && !remote)
{
if (!freerdp_settings_set_string(settings, FreeRDP_GatewayAvdClientID,
"a85cf173-4192-42f8-81fa-777a763e6e2c"))
goto out_fail;
if (!freerdp_settings_set_string(settings, FreeRDP_GatewayAvdArmpath,
"login.microsoftonline.com"))
goto out_fail;
if (!freerdp_settings_set_string(settings, FreeRDP_GatewayAvdAadtenantid, "common"))
goto out_fail;
if (!freerdp_settings_set_uint32(settings, FreeRDP_DesktopPhysicalWidth, 1000))
goto out_fail;
if (!freerdp_settings_set_uint32(settings, FreeRDP_DesktopPhysicalHeight, 1000))

View File

@@ -390,6 +390,7 @@ static const size_t string_list_indices[] = {
FreeRDP_GatewayAvdAadtenantid,
FreeRDP_GatewayAvdActivityhint,
FreeRDP_GatewayAvdArmpath,
FreeRDP_GatewayAvdClientID,
FreeRDP_GatewayAvdDiagnosticserviceurl,
FreeRDP_GatewayAvdGeo,
FreeRDP_GatewayAvdHubdiscoverygeourl,

View File

@@ -163,7 +163,7 @@ def write_setter(f, entry_dict, entry_type, entry_name, postfix):
f.write('BOOL freerdp_settings_set_' + entry_name.lower())
f.write(postfix)
f.write('(rdpSettings* settings, ' + typestr + ' id, ')
if isString and len(postfix) > 0 or isPointer:
if isString or isPointer:
f.write('const ')
if not isPointer:
f.write(entry_type + ' val')
@@ -256,6 +256,8 @@ try:
continue
if 'padding' in sline:
continue
if 'version' in sline:
continue
if sline.startswith('SETTINGS_DEPRECATED(ALIGN64'):
sline = sline[27:].strip()