20#ifndef FREERDP_SERVER_PROXY_CONFIG_H
21#define FREERDP_SERVER_PROXY_CONFIG_H
23#include <winpr/wtypes.h>
26#include <freerdp/api.h>
27#include <freerdp/server/proxy/proxy_modules_api.h>
43 typedef enum WINPR_C23_ENUM_TYPE(uint32_t)
45 FREERDP_PROXY_CERT_POLICY_DENY = 0,
46 FREERDP_PROXY_CERT_POLICY_ALLOW,
47 FREERDP_PROXY_CERT_POLICY_PINNED,
48 FREERDP_PROXY_CERT_POLICY_VERIFIED,
49 FREERDP_PROXY_CERT_POLICY_VERIFIED_HOST_MATCH,
50 } FreeRDP_ProxyCertPolicy;
74 BOOL ServerTlsSecurity;
75 BOOL ServerRdpSecurity;
76 BOOL ServerNlaSecurity;
79 BOOL ClientNlaSecurity;
80 BOOL ClientTlsSecurity;
81 BOOL ClientRdpSecurity;
82 BOOL ClientAllowFallbackToTls;
91 BOOL DeviceRedirection;
92 BOOL VideoRedirection;
93 BOOL CameraRedirection;
95 BOOL PassthroughIsBlacklist;
97 size_t PassthroughCount;
99 size_t InterceptCount;
102#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
103 WINPR_DEPRECATED_VAR(
"[since 3.6.0] Unused, ignore", BOOL TextOnly);
104 WINPR_DEPRECATED_VAR(
"[since 3.6.0] Unused, ignore", UINT32 MaxTextLength);
107 WINPR_DEPRECATED_VAR(
"[since 3.6.0] Unused, ignore", BOOL DecodeGFX);
114 char** RequiredPlugins;
115 size_t RequiredPluginsCount;
117 char* CertificateFile;
118 char* CertificateContent;
120 char* PrivateKeyFile;
121 char* PrivateKeyContent;
124 char* CertificatePEM;
125 size_t CertificatePEMLength;
129 size_t PrivateKeyPEMLength;
134 UINT32 TargetTlsSecLevel;
260 FREERDP_API BOOL
pf_config_clone(proxyConfig** dst, const proxyConfig* config);
272 FREERDP_API BOOL
pf_config_plugin(proxyPluginsManager* plugins_manager,
void* userdata);
283 FREERDP_API const
char*
pf_config_get(const proxyConfig* config, const
char* section,
FREERDP_API proxyConfig * pf_server_config_load_buffer(const char *buffer)
pf_server_config_load_buffer Create a proxyConfig from a memory string buffer in INI file format
FREERDP_API void pf_server_config_free(proxyConfig *config)
pf_server_config_free Releases all resources associated with proxyConfig
FREERDP_API void pf_server_config_print(const proxyConfig *config)
pf_server_config_print Print the configuration to stdout
WINPR_ATTR_NODISCARD FREERDP_API const char ** pf_config_modules(const proxyConfig *config)
pf_config_modules
WINPR_ATTR_NODISCARD FREERDP_API const char * pf_config_required_plugin(const proxyConfig *config, size_t index)
pf_config_required_plugin
WINPR_ATTR_NODISCARD FREERDP_API FreeRDP_ProxyCertPolicy pf_config_policy_from_str(const char *val)
Convert a string to a FreeRDP_ProxyCertPolicy value.
WINPR_ATTR_NODISCARD FREERDP_API size_t pf_config_modules_count(const proxyConfig *config)
pf_config_modules_count
WINPR_ATTR_NODISCARD FREERDP_API const char * pf_config_policy_to_str(FreeRDP_ProxyCertPolicy policy)
Convert a FreeRDP_ProxyCertPolicy value to a string.
WINPR_ATTR_NODISCARD FREERDP_API BOOL pf_config_clone(proxyConfig **dst, const proxyConfig *config)
pf_config_clone Create a copy of the configuration
WINPR_ATTR_NODISCARD FREERDP_API size_t pf_config_required_plugins_count(const proxyConfig *config)
pf_config_required_plugins_count
FREERDP_API proxyConfig * server_config_load_ini(wIniFile *ini)
server_config_load_ini Create a proxyConfig from a already loaded INI file.
FREERDP_API proxyConfig * pf_server_config_load_file(const char *path)
pf_server_config_load_file Create a proxyConfig from a INI file found at path.
WINPR_ATTR_NODISCARD FREERDP_API BOOL pf_server_config_dump(const char *file)
pf_server_config_dump Dumps a default INI configuration file
WINPR_ATTR_NODISCARD FREERDP_API BOOL pf_config_plugin(proxyPluginsManager *plugins_manager, void *userdata)
pf_config_plugin Register a proxy plugin handling event filtering defined in the configuration.
WINPR_ATTR_NODISCARD FREERDP_API const char * pf_config_get(const proxyConfig *config, const char *section, const char *key)
pf_config_get get a value for a section/key
size_t TargetSmartcardKeyLength
size_t TargetSmartcardCertLength
char * TargetSmartcardCert
char * TargetSmartcardKey
size_t TargetCertPEMLength
FreeRDP_ProxyCertPolicy TargetCertPolicy