[common,settings] new settings (de)serialization API

* Add rdpKey to PEM conversion
* Modify WINPR_JSON_Version to return -1 if not supported
* Add rdpSettings serialize and deserialize functions
This commit is contained in:
Armin Novak
2025-04-16 08:47:35 +02:00
committed by akallabeth
parent 2fb2e5f9c5
commit a4c4bad132
8 changed files with 2595 additions and 143 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -2366,8 +2366,7 @@ BOOL freerdp_settings_set_uint32(WINPR_ATTR_UNUSED rdpSettings* settings,
break;
case FreeRDP_ReceivedCapabilitiesSize:
settings->ReceivedCapabilitiesSize = cnv.c;
break;
return freerdp_capability_buffer_resize(settings, cnv.c);
case FreeRDP_RedirectedSessionId:
settings->RedirectedSessionId = cnv.c;
@@ -2494,8 +2493,7 @@ BOOL freerdp_settings_set_uint32(WINPR_ATTR_UNUSED rdpSettings* settings,
break;
case FreeRDP_TargetNetAddressCount:
settings->TargetNetAddressCount = cnv.c;
break;
return freerdp_target_net_addresses_resize(settings, cnv.c);
case FreeRDP_TcpAckTimeout:
settings->TcpAckTimeout = cnv.c;

View File

@@ -79,11 +79,14 @@ BOOL freerdp_settings_clone_keys(rdpSettings* dst, const rdpSettings* src)
break;
case FREERDP_SETTINGS_TYPE_POINTER: /* pointer */
{
const void* sval =
freerdp_settings_get_pointer(src, (FreeRDP_Settings_Keys_Pointer)cur->id);
if (!freerdp_settings_set_pointer(dst, (FreeRDP_Settings_Keys_Pointer)cur->id,
sval))
return FALSE;
if (cur->id == FreeRDP_instance)
{
const void* sval =
freerdp_settings_get_pointer(src, (FreeRDP_Settings_Keys_Pointer)cur->id);
if (!freerdp_settings_set_pointer(dst, (FreeRDP_Settings_Keys_Pointer)cur->id,
sval))
return FALSE;
}
}
break;
default: