Armin Novak
e5816d65ce
[c23,server] replace NULL with nullptr
2026-02-26 14:34:11 +01:00
Armin Novak
e58819830a
[c23] simplify boolean checks
2026-02-26 11:51:05 +01:00
Armin Novak
48267edf2f
[winpr] add WINPR_C_ARRAY_INIT
...
since C23 allows c++ style initializing replace direct use with this
macro
2026-02-25 19:23:08 +01:00
akallabeth
b2f325251a
[server] add WINPR_ATTR_NODISCARD macro
2026-02-24 11:03:46 +01:00
Armin Novak
9dc3e9fbe4
[server,proxy] clone user/doman/password
...
add missing elements of struct to copy
2026-02-20 15:32:25 +01:00
akallabeth
460ca149f2
[server] mark all WINPR_ATTR_MALLOC also nodiscard
2026-01-26 13:22:30 +01:00
akallabeth
fb8efd45f2
[c,format] fix format string and review warnings
2026-01-16 13:36:14 +01:00
akallabeth
19cccd03bf
[c,printf] fix wlog format string to match arguments
2026-01-16 11:42:31 +01:00
akallabeth
f1f8ec2a7e
[server,proxy] fix config free
2025-12-29 18:51:28 +01:00
akallabeth
150b61d4c2
[proxy,warnings] fix -Wunused-parameter
2025-02-13 15:53:58 +01:00
akallabeth
78acedb40e
[warnigns] fix Wshorten-64-to-32
2024-11-11 10:22:37 +01:00
akallabeth
9caf38bbb6
[warnings] unify CommandLineParseCommaSeparatedValues
...
CommandLineParseCommaSeparatedValues does some internal hack to allow
the allocated char** to be cleaned up by free.
This enforces compiler warnings as the pointer types do not match.
Use a new free function CommandLineParserFree instead
2024-10-22 21:11:58 +02:00
akallabeth
15d408d6fc
[warnings] fix integer narrowing
2024-10-14 10:31:45 +02:00
Armin Novak
c7c84682e1
[warnings] fix mismatched-dealloc
...
Some allocator functions have an error path where the corresponding free
function is called. Since the memory in the allocator function was
allocated using malloc/calloc the free function does not match. Silence
warnings with pragma macros
2024-09-18 15:35:28 +02:00
Armin Novak
65f6541f67
[server,proxy] fix plausibility checks in pf_config_get_uint32
2024-09-18 11:47:01 +02:00
akallabeth
5e123735fa
[warnings] fixed sign-compare
2024-09-04 10:14:05 +02:00
akallabeth
24cd7828c9
[warnings] fix clang-tidy issues in server
2024-08-29 15:20:42 +02:00
akallabeth
8f4d105f50
[server,proxy] remove unused section from config
...
Remote GFXSettings and Clipboard section as it was no longer used. This
is a non breaking change, existing entries will be ignored (just like up
until now) but the generated config now no longer contains it.
2024-07-01 11:40:10 +02:00
akallabeth
d7ebec5a65
[tidy] move loop variable declaration to loop
2024-02-22 12:31:50 +01:00
akallabeth
f69e1fe697
[clang-tidy] readability-duplicate-include
2024-02-15 11:49:16 +01:00
akallabeth
0ba995655d
[clang-tidy] cppcoreguidelines-init-variables
2024-02-15 11:49:16 +01:00
akallabeth
59ed125eed
[server,proxy] add TlsSecLevel option to config
...
To support legacy targets add the TlsSecLevel configuration option that
is equivalent to the /tls:seclevel option of the client implementations.
This allows automatic configuration of OpenSSL legacy providers if they
are available.
2024-01-09 15:53:22 +01:00
Armin Novak
fd338c3bd4
[server,proxy] allow reading arbitrary keys from config
...
Allow the proxy configuration to contain arbitrary section/key/value
entries which can be used by plugins for configuration.
2023-06-27 17:36:57 +02:00
Armin Novak
7212621eae
[proxy,config] PEM length must contain '\0'
2023-05-08 22:54:53 +02:00
Armin Novak
fad46c4455
[server,proxy] add additional PEM headers
...
there are some more PEM formats in use, add the headers
2023-04-26 09:55:26 +02:00
Armin Novak
c1cd48cb3c
[server,proxy] allow PEM in config file
...
CertificateContent and PrivateKeyContent now have two valid formats:
It can be in format PEM (multiple lines) or a single line base64 encoded
PEM.
The first format is preferrable in case the pf_config* API is used to
set the certificate/key, the latter in case an actual config file is in
use where multiline configuration data can not be directly entered.
2023-04-24 10:57:22 +02:00
akallabeth
4d663682bc
[server,proxy] ensure PEM length is strlen(pem) + 1
...
The decoded base64 data might contain PEM with/without/with multiple
'\0' at the end of the string. We do not want to drag this through our
code so ensure the length matches the string length including '\0'
2023-04-17 17:59:06 +02:00
akallabeth
48bbb08793
[server,proxy] remove too strict assert
2023-04-14 15:54:26 +02:00
akallabeth
c3f6b665cc
[server,proxy] improve error message for invalid base64
...
If the certificate or private key are supplied as base64 encoded string
inform what happened before aborting.
2023-04-14 15:54:26 +02:00
David Fort
b8814e723a
fix some warning with the use of new crypto functions
2023-02-28 07:59:40 +01:00
Armin Novak
a7dac52a42
[license] updated copyright headers
2023-02-12 20:17:11 +01:00
akallabeth
b869927407
[proxy,config] extract PEM from config file
...
* Read a PEM file if provided via config
* Base64 decode if the certificate/private key are provided in the
config file
2023-02-12 20:17:11 +01:00
Armin Novak
641022b795
[logging] remove __FUNCTION__ from actual message
...
prefer the log formatter to provide that information.
2023-01-25 16:26:39 +01:00
Armin Novak
5680a347d2
[server,proxy] fixed dump config elements
2022-12-22 15:09:03 +01:00
akallabeth
b56bef23dd
[proxy] clean up config parser
...
* Use constant strings to identify sections, keys, bool, ...
2022-12-18 15:14:30 +01:00
Armin Novak
6a0df205b0
[proxy] add mouse ex and unicode event filters
2022-11-06 19:12:27 +01:00
Armin Novak
b672bda85e
Removed RdpKeyFile and RdpKeyContent settings
...
They are a duplicate of PrivateKeyFile and PrivateKeyContent
2022-07-06 12:01:23 +02:00
akallabeth
bc8b4ade1c
reformatted
2022-06-23 08:48:39 +02:00
David Fort
cfe80694da
proxy: add fixed user/domain/passwd
...
This adds a User, Domain and Password parameter in the Target section of the configuration
to specify and use a fixed backend user, domain or password (overriding the one
passed by the front user).
2022-06-15 14:05:45 +02:00
David Fort
63d0d3e4cf
proxy: rework proxy channel treatments for statefull drdynvc
...
The rework introduce a stateful dynamic channel treatment, so that we can take early decisions
for data packet (dropping all the current packet or pass it), but also reassemble important
packets like channel creation.
2022-04-15 09:06:09 +02:00
Armin Novak
a403848e61
Fixed const/type warnings
2022-02-01 08:48:21 +01:00
Armin Novak
4e6e5be654
Added proxy intercept channels
...
* New configuration to intercept certain channels
* Added rdpdr intercept implementation
2022-01-11 12:34:43 +01:00
Alexandru Bagu
7f7bf2d731
Remove passthrough channel name limit
2021-10-05 09:40:53 +02:00
akallabeth
03a9ca80c8
Refactor proxy ( #7312 )
...
* Added hidden transport dump and replay options
* Added settings to enable transport dump and replay
* Added check in freerdp_connect to skip authentication on
dump replay
* Fixed proxy issues
* Proper shutdown handling
* Uninitialized variables
* Skip proxy-client channels, initialize from peer channels and
config
* Filter static channels like dynamic ones
* Added proxy module filtering from config data (channels, input, ...)
* Removed oboslete proxy decoding related files
* Added defines for RDPECAM channel
* Added proxy config options:
* VideoRedirection
* CameraRedirection
* Fixed duplicate channel free
2021-09-23 14:52:03 +02:00
akallabeth
695e38398d
Refactored proxy
...
* Removed unnecessary global data lists
* Improved error handling
* Do not initialize channel code in passthrough mode
2021-09-20 10:59:59 +02:00
Armin Novak
680dc81bad
Added dump option for proxy config.
2021-09-09 08:53:20 +02:00
Armin Novak
4463e5eda9
Added config dump function, improved resource cleanup
2021-09-09 08:53:20 +02:00
Armin Novak
0f8c52b9ca
Fixed const warnings with argument parser
2021-09-09 08:53:20 +02:00
Armin Novak
f7c7211aad
Fixed compilation warnings
2021-09-09 08:53:20 +02:00
Armin Novak
5a2231172c
Updated copyright for proxy
2021-09-09 08:53:20 +02:00