FreeRDP
Loading...
Searching...
No Matches
proxy_config.h
1
20#ifndef FREERDP_SERVER_PROXY_CONFIG_H
21#define FREERDP_SERVER_PROXY_CONFIG_H
22
23#include <winpr/wtypes.h>
24#include <winpr/ini.h>
25
26#include <freerdp/api.h>
27#include <freerdp/server/proxy/proxy_modules_api.h>
28
34#ifdef __cplusplus
35extern "C"
36{
37#endif
38
39 typedef struct proxy_config proxyConfig;
40
42 {
43 /* server */
44 char* Host;
45 UINT16 Port;
46
47 /* target */
48 BOOL FixedTarget;
49 char* TargetHost;
50 UINT16 TargetPort;
51 char* TargetUser;
52 char* TargetDomain;
53 char* TargetPassword;
54
55 /* input */
56 BOOL Keyboard;
57 BOOL Mouse;
58 BOOL Multitouch;
59
60 /* server security */
61 BOOL ServerTlsSecurity;
62 BOOL ServerRdpSecurity;
63 BOOL ServerNlaSecurity;
64
65 /* client security */
66 BOOL ClientNlaSecurity;
67 BOOL ClientTlsSecurity;
68 BOOL ClientRdpSecurity;
69 BOOL ClientAllowFallbackToTls;
70
71 /* channels */
72 BOOL GFX;
73 BOOL DisplayControl;
74 BOOL Clipboard;
75 BOOL AudioOutput;
76 BOOL AudioInput;
77 BOOL RemoteApp;
78 BOOL DeviceRedirection;
79 BOOL VideoRedirection;
80 BOOL CameraRedirection;
81
82 BOOL PassthroughIsBlacklist;
83 char** Passthrough;
84 size_t PassthroughCount;
85 char** Intercept;
86 size_t InterceptCount;
87
88 /* clipboard specific settings */
89#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
90 WINPR_DEPRECATED_VAR("[since 3.6.0] Unused, ignore", BOOL TextOnly);
91 WINPR_DEPRECATED_VAR("[since 3.6.0] Unused, ignore", UINT32 MaxTextLength);
92
93 /* gfx settings */
94 WINPR_DEPRECATED_VAR("[since 3.6.0] Unused, ignore", BOOL DecodeGFX);
95#endif
96
97 /* modules */
98 char** Modules; /* module file names to load */
99 size_t ModulesCount;
100
101 char** RequiredPlugins; /* required plugin names */
102 size_t RequiredPluginsCount;
103
104 char* CertificateFile;
105 char* CertificateContent;
106
107 char* PrivateKeyFile;
108 char* PrivateKeyContent;
109
110 /* Data extracted from CertificateContent or CertificateFile (evaluation in this order) */
111 char* CertificatePEM;
112 size_t CertificatePEMLength;
113
114 /* Data extracted from PrivateKeyContent or PrivateKeyFile (evaluation in this order) */
115 char* PrivateKeyPEM;
116 size_t PrivateKeyPEMLength;
117
118 wIniFile* ini;
119
120 /* target continued */
121 UINT32 TargetTlsSecLevel;
123 /* codecs */
124 BOOL RFX;
125 BOOL NSC;
127 /* server SamFile */
128 char* SamFile;
130 /* target smartcard */
134 };
135
141 WINPR_ATTR_NODISCARD
142 FREERDP_API BOOL pf_server_config_dump(const char* file);
143
149 FREERDP_API void pf_server_config_free(proxyConfig* config);
150
159 WINPR_ATTR_MALLOC(pf_server_config_free, 1)
160 WINPR_ATTR_NODISCARD
161 FREERDP_API proxyConfig* server_config_load_ini(wIniFile* ini);
169 WINPR_ATTR_MALLOC(pf_server_config_free, 1)
170 WINPR_ATTR_NODISCARD
171 FREERDP_API proxyConfig* pf_server_config_load_file(const char* path);
172
181 WINPR_ATTR_MALLOC(pf_server_config_free, 1)
182 WINPR_ATTR_NODISCARD
183 FREERDP_API proxyConfig* pf_server_config_load_buffer(const char* buffer);
184
190 FREERDP_API void pf_server_config_print(const proxyConfig* config);
191
199 WINPR_ATTR_NODISCARD
200 FREERDP_API size_t pf_config_required_plugins_count(const proxyConfig* config);
201
209 WINPR_ATTR_NODISCARD
210 FREERDP_API const char* pf_config_required_plugin(const proxyConfig* config, size_t index);
211
219 WINPR_ATTR_NODISCARD
220 FREERDP_API size_t pf_config_modules_count(const proxyConfig* config);
221
228 WINPR_ATTR_NODISCARD
229 FREERDP_API const char** pf_config_modules(const proxyConfig* config);
230
238 WINPR_ATTR_NODISCARD
239 FREERDP_API BOOL pf_config_clone(proxyConfig** dst, const proxyConfig* config);
240
250 WINPR_ATTR_NODISCARD
251 FREERDP_API BOOL pf_config_plugin(proxyPluginsManager* plugins_manager, void* userdata);
252
261 WINPR_ATTR_NODISCARD
262 FREERDP_API const char* pf_config_get(const proxyConfig* config, const char* section,
263 const char* key);
264
265#ifdef __cplusplus
266}
267#endif
268
271#endif /* FREERDP_SERVER_PROXY_CONFIG_H */
FREERDP_API void pf_server_config_free(proxyConfig *config)
pf_server_config_free Releases all resources associated with proxyConfig
Definition pf_config.c:1021
WINPR_ATTR_NODISCARD 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.
Definition pf_config.c:906
FREERDP_API void pf_server_config_print(const proxyConfig *config)
pf_server_config_print Print the configuration to stdout
Definition pf_config.c:936
WINPR_ATTR_NODISCARD FREERDP_API const char ** pf_config_modules(const proxyConfig *config)
pf_config_modules
Definition pf_config.c:1071
WINPR_ATTR_NODISCARD FREERDP_API const char * pf_config_required_plugin(const proxyConfig *config, size_t index)
pf_config_required_plugin
Definition pf_config.c:1056
WINPR_ATTR_NODISCARD 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
Definition pf_config.c:881
WINPR_ATTR_NODISCARD FREERDP_API size_t pf_config_modules_count(const proxyConfig *config)
pf_config_modules_count
Definition pf_config.c:1065
WINPR_ATTR_NODISCARD FREERDP_API BOOL pf_config_clone(proxyConfig **dst, const proxyConfig *config)
pf_config_clone Create a copy of the configuration
Definition pf_config.c:1124
WINPR_ATTR_NODISCARD FREERDP_API proxyConfig * server_config_load_ini(wIniFile *ini)
server_config_load_ini Create a proxyConfig from a already loaded INI file.
Definition pf_config.c:670
WINPR_ATTR_NODISCARD FREERDP_API size_t pf_config_required_plugins_count(const proxyConfig *config)
pf_config_required_plugins_count
Definition pf_config.c:1050
WINPR_ATTR_NODISCARD FREERDP_API BOOL pf_server_config_dump(const char *file)
pf_server_config_dump Dumps a default INI configuration file
Definition pf_config.c:720
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.
Definition pf_config.c:1470
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
Definition pf_config.c:1502
BOOL TargetSmartcardAuth
char * TargetSmartcardCert
char * TargetSmartcardKey