Armin Novak
87ae9dec0d
[core,info] ensure stream length
...
ensure the stream is large enough for all info packets
2022-12-14 11:52:00 +01:00
Armin Novak
8af5f15769
[core,info] enforce cbClientDir limits
...
the cbClientDir field limits defined in [MS-RDPBCGR] 2.2.1.11.1.1.1
Extended Info Packet (TS_EXTENDED_INFO_PACKET) are now properly enforced.
2022-12-14 10:30:36 +01:00
Armin Novak
0da0f5ca54
[core,info] enforce extended info limits
...
the cbClientAddress field limits defined in [MS-RDPBCGR]
2.2.1.11.1.1.1 Extended Info Packet (TS_EXTENDED_INFO_PACKET) are now
properly enforced.
2022-12-14 10:30:36 +01:00
akallabeth
4ab9fb4425
[channels,rdpsnd] Add PlayEx callback
...
This new callback is preferred over the older Play callback and provides
the AUDIO_FORMAT as additional argument.
2022-12-14 10:17:30 +01:00
akallabeth
8aa880c0ba
[channels,rdpsnd] Callback on server format
...
When the server sends the format list to the client call a device
callback that provides the details to the audio backend.
2022-12-14 10:17:30 +01:00
David Fort
a1febe11f0
multi-transport: refactor multi-transport handling
...
Prepare the parts of the code that handle multi-transport to really establish
UDP connections and manage alternative transports.
2022-12-13 15:54:33 +01:00
David Fort
67e1c2dccd
gcc: fix handling of multi-transport flags
...
Multi-transport flags must be merged between local and remote so that on both sides
we know the shared parameters. Also this patch sends multi-transport GCC block when
multi-transport is enabled.
2022-12-13 15:54:33 +01:00
David Fort
deb79c3f90
fix typo
2022-12-13 15:54:33 +01:00
David Fort
e915b294d5
winpr: add functions to test for read / write availability in pollset
2022-12-13 15:54:33 +01:00
akallabeth
d399c1c6fb
[codec,xcrush] follow up to #8529
...
There was still an issue left, if diff == 0 then the loop counter did
never increment.
Skip this case now completely as the memory does not need to be copied
anyway.
2022-12-13 15:41:58 +01:00
Armin Novak
2b49047c34
[client] Fix keyboard input
...
properly pass key repeat events to the server.
2022-12-13 14:37:05 +01:00
Armin Novak
7fd6278bc6
[server] fixed key press checks
...
Do not test KBD_FLAGS_DOWN, this only indicates key repeat. Check for
the absence of KBD_FLAGS_RELEASE
2022-12-13 14:37:05 +01:00
Armin Novak
f5724c0c13
[core,input] Fixed API for KBD_FLAGS_DOWN use
...
KBD_FLAGS_DOWN indicates a key repeat, so it must be absent on first
keypress.
2022-12-13 14:37:05 +01:00
Armin Novak
de0c42273e
[uwac] add key repeat state to UwacKeyEvent
2022-12-13 14:37:05 +01:00
Armin Novak
d90aa5d6f5
[client,x11] Fixed #8099 : Detect key autorepeat
...
When a key is pressed in autorepeat mode, skip the KeyRelease events in
between.
2022-12-13 14:37:05 +01:00
fifthdegree
497ada661f
Change the logic flow on error to a better style
...
Use do-while and break instead of checking return value before every
line
2022-12-13 14:26:45 +01:00
fifthdegree
e4b82cf0ef
[kerberos] Assert expected pointer arguments
2022-12-13 14:26:45 +01:00
fifthdegree
3ffc32176d
Support heimdal kerberos implementation
...
Add support for heimdal kerberos in addition to mit kerberos
2022-12-13 14:26:45 +01:00
fifthdegree
6c8e4d668d
Don't free empty structures
2022-12-13 14:26:45 +01:00
fifthdegree
1e6c5fc782
Allow setting kdc hostname
...
Use user-provided kdc hostname when given
2022-12-13 14:26:45 +01:00
akallabeth
f67a7aa16a
[build] added WITH_DEBUG_CODECS
...
A new build option to enable more verbose logging in some video codecs.
2022-12-13 13:38:25 +01:00
akallabeth
d27972518f
[codec,interleaved] move length check out of loop
2022-12-13 13:38:25 +01:00
Armin Novak
6f6353d76f
[codec,interleaved] add codec debug log
2022-12-13 13:38:25 +01:00
Armin Novak
1428b73490
[codec,interleaved] refactored run length reading
2022-12-13 13:38:25 +01:00
Armin Novak
0dc5c94476
[codec,interleaved] added string helper functions
2022-12-13 13:38:25 +01:00
Armin Novak
2648257caa
[codec,interleaved] add proper debug logging
...
log reason for decoder to fail
2022-12-13 13:38:25 +01:00
Armin Novak
b14bdd4501
[gdi] Add failure logging in gdi_Bitmap_Decompress
2022-12-13 13:38:25 +01:00
Armin Novak
7c5e953a44
[gdi] log bitmap update failure reasons
2022-12-13 13:38:25 +01:00
akallabeth
549aad655a
[codec,xcrush] fix possible div by zero
...
If source and destination buffers are equal the calculation of
'rest = num % div' is a division by zero. Avoid that by checking
explicitly for that condition.
2022-12-13 13:37:54 +01:00
akallabeth
adb3b22609
Revert "fix xcrush-divideByZero (when src ==dst)"
...
This reverts commit 85e830d16f
.
2022-12-13 13:37:54 +01:00
akallabeth
babc47e19c
[channels,rdpsnd] fix rdpsnd channel cleanup
...
The rdpsnd channel needs to keep the resources allocated until the last
user (static, dynamic channel) is terminated.
2022-12-13 10:57:34 +01:00
Armin Novak
b41ef0cda7
[core,client] fixed connection timeout abort
...
the abort condidion was not properly triggered.
2022-12-12 18:08:42 +01:00
akallabeth
37ab25e19d
Fixed all Wdocumentation warnings
2022-12-12 14:24:55 +01:00
Armin Novak
8200536285
[core,gcc] use mcs_get_settings, make const correct
...
Use a common helper function to get (const correct) settings from rdpMcs
2022-12-12 13:33:47 +01:00
Armin Novak
917e392f1e
[client] fix connection active checks
...
* use freerdp_is_active_state for session active checks
* fix state transitions
2022-12-12 12:59:32 +01:00
Armin Novak
a14c75a3a2
[core,client] handle optional monitor layout PDU
...
The monitor layout PDU is optional. If that was not received assume it
will not be sent and continue in next state.
2022-12-12 12:59:32 +01:00
akallabeth
d3e9210985
[core] added freerdp_is_active_state
...
Since client and server use different states to indicate the connection
is activated, add this convenience function to determine that
2022-12-12 12:59:32 +01:00
Armin Novak
c22d3736a3
[client] refactor client activation timeout
...
Move the code to a function to make it more readable
2022-12-12 12:59:32 +01:00
Armin Novak
5f81005ecb
[transport] remove polling loop
...
We no longer have a blocking polling loop in transport. Instead assume
there is more data after a packet was processed and let the transport
try again. If there is another packet ready, this repeats until only a
partly received (or no new data available) situation is reached.
2022-12-12 12:59:32 +01:00
akallabeth
2809e14064
[core,connection] fix missing logger argument
2022-12-09 20:30:23 +01:00
akallabeth
050a2d0e74
[codec] fixed region16_union_rect
...
* If source and destination are equal, free the buffer on destination to
avoid compiler warnings.
* Remove assert that is not required
2022-12-09 16:40:54 +01:00
akallabeth
d4808dd3e1
Fixed various compiler warnings
2022-12-09 15:58:26 +01:00
akallabeth
7ab917dca8
Fixed Wsign-compare warnings
2022-12-09 15:58:26 +01:00
Armin Novak
bd7e2263ad
fixed const and type cast warnings
2022-12-09 15:58:26 +01:00
akallabeth
0186a9b303
Fixed some warnings
2022-12-09 15:58:26 +01:00
akallabeth
99ad9db4e6
[winpr,path] Fixed WCHAR and char mixup
2022-12-09 15:58:26 +01:00
akallabeth
e86f49d7d7
[winpr,utils] eliminate integer conversion warning
2022-12-09 15:58:26 +01:00
akallabeth
873a11aa10
[winpr,path] Eliminate unreachable code
2022-12-09 15:58:26 +01:00
akallabeth
7f221a653d
Fixed Wpedantic warnings
2022-12-09 15:58:26 +01:00
akallabeth
7e1065a9b9
Fixed Wshadow warnings
2022-12-09 15:58:26 +01:00