Michael Saxl
d55e035260
[gateway,arm] Azure Virtual Desktop Gateway support
...
This PR creates a new /gateway:type:arm transport.
It depends on CJSON
The arm transport is not a transport by itself but is responsible
for getting the websocket endpoint from a configuration url derived from
the configured gateway host in the rdpw file or cmdline
2023-06-27 21:15:08 +02:00
Vic Lee
5fffaf6cd2
[codec,rfx] missing palette setting api.
2023-06-27 08:54:54 +02:00
akallabeth
40dd43cb01
[core,gcc] use static substream for client data
2023-06-26 19:17:55 +02:00
akallabeth
b69c259967
[core,gcc] dump unknown GCC types with trace log
2023-06-26 19:17:55 +02:00
Hugues LEFEBVRE
b67afecf0f
CredSSP with early user auth (nla_ext) support
2023-06-26 11:53:46 +02:00
akallabeth
ff2b57c634
[core,peer] fixed invalid pointer to log function
2023-06-26 10:53:43 +02:00
akallabeth
4d350978dd
[core] assert rdp->context
2023-06-26 10:53:43 +02:00
akarl10
63c80423a9
[multitransport] Ignore unknown data
...
If the reserved filed is not 0 the request PDU seems to contain
some extra data. Two bytes of 0 (probably a version field) followed by a
JSON payload (not null terminated, until the end of the packet. There
seems to be no dedicated length field)
2023-06-26 09:09:47 +02:00
Armin Novak
52ec17309a
[core,caps] use settings getter/setter for unicode
2023-06-23 08:18:16 +02:00
Michael Saxl
44c1ec3276
[gateway,websocket] implement plain websocket transport
...
* factor out most websocket specific code parts into websocket.c
* create wst.c (Websocket Transport) as gateway transport implementation
* introduce GatewayUrl setting that holds the websocket url
* introduce GatewayHttpExtAuthBearer that holds the HTTP Bearer
* GatewayHttpExtAuthBearer can be used by both rdg and wst
2023-06-22 09:21:42 +02:00
Michael Saxl
6478edda5b
rdg bearer support
2023-06-22 09:21:42 +02:00
akallabeth
1fc0d5b4b1
[winpr] remove casts for winpr_RAND calls
2023-06-21 09:57:52 +02:00
Armin Novak
e264512220
[common,assistance] fix missing NULL check
2023-06-19 09:24:18 +02:00
Armin Novak
84320903c3
[common,assistance] add test case
2023-06-19 09:24:18 +02:00
fifthdegree
80f357ddcb
Add missing arg to aad token request format string
2023-06-19 08:42:33 +02:00
akallabeth
18df3176e1
[common,assistance] fix assistance file parser
...
* ensure a valid delimiter is following the token searched for
* add a test case to ensure this works
2023-06-16 09:14:10 +02:00
Armin Novak
df3c78a91d
[server,core] add CheckPeerAcceptRestrictions
...
the new (optional) callback CheckPeerAcceptRestrictions is used to check
for server implementation specific connection requirements before
accepting a client.
2023-06-14 17:15:21 +02:00
Richard Markiewicz
946cfb1068
[core,license] Fix build on msvnc with WITH_DEBUG_LICENSE
2023-06-14 17:14:45 +02:00
Armin Novak
3fd78adaed
[utils] fix variable name in wait_for_fd
...
if build without WINPR_HAVE_POLL_H there was a mistyped variable.
2023-06-14 13:50:59 +02:00
Armin Novak
010e1252c4
[common,assistance] fix NULL argument for strstr
2023-06-14 13:50:59 +02:00
Mikhail Kashin
aeb6ec6f97
[core] fix handling loadbalanceinfo tsv://MS Terminal Services Plugin
2023-06-14 09:06:50 +02:00
Marc-André Moreau
4d4dcd4511
Fix usage of explicit server name when different from connection host
2023-06-13 09:20:17 -04:00
akallabeth
89bbed83db
[common,assistance] clean up assistance file parser
2023-06-13 10:03:57 +02:00
fifthdegree
53023a0627
Fix AAD token request body
2023-06-13 07:39:49 +02:00
akallabeth
6121ace62a
[codec,rfx] unify tile allocation
2023-06-12 16:32:23 +02:00
akallabeth
93d8a93556
[codec,rfx] assert rfx_write_tile arguments
...
Ensure that in all paths the function arguments are valid.
2023-06-12 16:32:23 +02:00
akallabeth
a64dd36073
[build] fixed const warnings
2023-06-12 16:32:23 +02:00
akallabeth
45a54b1883
[core] fix typo in debug string
2023-06-12 11:13:43 +02:00
Armin Novak
b05eacb99e
[build] fixed compilation warnings
2023-06-08 08:13:16 +02:00
Armin Novak
381183f421
[core,gateway] align RPC_FAULT_CODES
...
some architectures require alignment (apple looking at you)
2023-06-08 08:11:05 +02:00
Armin Novak
47e9503385
[codec,dsp] fix unused variable warning
2023-06-08 08:11:05 +02:00
Armin Novak
970f0c54e8
[stream] use const correct Stream_Pointer access
2023-06-08 08:09:33 +02:00
Armin Novak
d0c5b1ae42
[codec,dsp] fix ffmpeg deprecations
2023-06-08 08:09:33 +02:00
Armin Novak
81e95e51ca
[winpr,ncrypt] log problems during cert enumeration
2023-06-07 23:05:54 +02:00
Sergey Bronnikov
62697e58d9
[libfreerdp] Pass a zero-terminated string to freerdp_assistance_parse_file_buffer
...
```
READ of size 2 at 0x602000000091 thread T0
SCARINESS: 14 (2-byte-read-heap-buffer-overflow)
#0 0x4c6fb9 in StrstrCheck(void*, char*, char const*, char const*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:580:5
#1 0x4c6df1 in strstr /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:597:5
#2 0x56c9ba in freerdp_assistance_parse_file_buffer /src/FreeRDP/libfreerdp/common/assistance.c:743:6
#3 0x56b58e in parse_file_buffer /src/FreeRDP/libfreerdp/common/test/TestFuzzCommonAssistanceParseFileBuffer.c:11:11
#4 0x56b58e in LLVMFuzzerTestOneInput /src/FreeRDP/libfreerdp/common/test/TestFuzzCommonAssistanceParseFileBuffer.c:20:2
#5 0x43f5e3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
#6 0x440994 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:804:3
```
2023-06-07 14:25:57 +02:00
Sergey Bronnikov
3266dc984a
[libfreerdp] Fix TestFuzzCommonAssistanceHexStringToBin
...
Test breaks contract in freerdp_assistance_hex_string_to_bin():
function expects zero-terminated string. Patch fixes that.
2023-06-07 14:25:57 +02:00
Sergey Bronnikov
d8254c5ff3
[libfreerdp] Fix msan's use-of-uninitialized-value
...
Uninitialized bytes in __interceptor_strlen at offset 0 inside [0x701000000040, 1)
==220==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x535c13 in freerdp_assistance_hex_string_to_bin /src/FreeRDP/libfreerdp/common/assistance.c:711:11
#1 0x533deb in LLVMFuzzerTestOneInput /src/FreeRDP/libfreerdp/common/test/TestFuzzCommonAssistanceHexStringToBin.c:5:15
#2 0x43f5f3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
#3 0x4409a4 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:804:3
#4 0x440e79 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:857:3
#5 0x4304df in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
#6 0x459b32 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
#7 0x7effc08bb082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)
#8 0x420f1d in _start (/tmp/not-out/tmpu5o6go0a/TestFuzzCommonAssistanceHexStringToBin+0x420f1d)
2023-06-07 14:25:57 +02:00
Armin Novak
a4c6b36a19
[build] fix memory sanitizer stack frame warnings
2023-06-07 09:14:45 +02:00
Armin Novak
b40e20ce85
[gateway,rdg] fix a leak and NULL access in RDG
2023-06-05 15:47:05 +02:00
Sergey Bronnikov
b1ae467ae2
[libfreerdp/common] Add fuzzing tests
...
Part of #5063
Closes #6681
2023-06-05 11:28:48 +02:00
Sergey Bronnikov
1c0c804981
[cmake] Introduce a target for building fuzzing tests
...
Part of #5063
2023-06-05 11:28:48 +02:00
Armin Novak
9a7aa8dbac
[core,rdp] log rdp_read_share_control_header
...
in rdp_read_share_control_header read and log all available header data
before checking remaining length.
2023-06-05 11:07:30 +02:00
Armin Novak
d0bf018e95
[test] fix uninitialized variables in test case
2023-05-31 17:44:41 +02:00
Armin Novak
3e44efc841
[cmake] use FindX11 from CMake 3.13
2023-05-31 11:05:56 +02:00
akallabeth
d71c58a04b
[core,licensing] allow all SEC_AUTODETECT_REQ messages
...
follow up to fdcc36dd8d
autodetect messages also seem to be sent over global channel id
instead of message channel id
2023-05-26 11:52:54 +02:00
akallabeth
393577750e
[settings] add FreeRDP_ClipboardFeatureMask
2023-05-25 16:26:39 +02:00
akallabeth
b8f7b59fff
[warnings] fix casts and return
2023-05-24 08:24:32 +02:00
akallabeth
4ee6cfe13a
[warnings] fix -Wmissing-prototypes
2023-05-24 08:24:32 +02:00
akallabeth
df76b59da7
[warnings] fix -Wshadow
2023-05-24 08:24:32 +02:00
akallabeth
066276a85a
[warnings] fix -Wsometimes-uninitialized
2023-05-24 08:24:32 +02:00