akallabeth
3682e11e55
[primitives,test] use same parameter names
...
use the same parameter names for declaration and implementation
2024-09-11 22:20:35 +02:00
akallabeth
265246cdfc
[core,activation] allocate buffer with calloc
2024-09-11 21:03:20 +02:00
akallabeth
ae95b66922
[warnings] fix portability [cm]alloc size 0
2024-09-11 20:50:33 +02:00
akallabeth
a1be46e5dd
[warning] fix function declarations
...
use same names in declaration and implementation
2024-09-11 20:50:21 +02:00
akallabeth
62e52b30c8
[utils,passphrase] fix missing char to int cast
2024-09-11 20:49:44 +02:00
akallabeth
953b2664c0
[opencl,primitives] fix const warning
2024-09-11 20:48:52 +02:00
akallabeth
bf4953d288
[codec,h264] fix documentation unknown
2024-09-11 20:48:49 +02:00
akallabeth
403ee7ad4c
[core,activation] simplify rdp_write_client_persistent_key_list_pdu
2024-09-11 20:48:46 +02:00
David Fort
a4bd5ba886
core, channels: client-side remote credential guard
...
This patch implements the client-side part of the remote credential guard feature
as described in MS-RDPEAR. The 2 main changes are: shipping the TSRemoteGuardaCreds in
NLA, and implement the rdpear channel that allows LSASS to remote all the calls to
our client. For now it's UNIX only as the windows implementation would be implemented
in a completely different way.
To test, you may establish you ccache and then connect with (RCG enabled on the server):
xfreerdp /remoteGuard /u:<user> /d:<domain> /v<server>
That should log you in, and in the session you should not be asked for credentials when
doing mstsc /remoteGuard /v:<other server>.
2024-09-11 17:15:11 +02:00
akallabeth
edf6ab89f7
[warnings] fix dead store
2024-09-10 14:43:11 +02:00
akallabeth
4253426e48
[core,transport] follow up to #10576
...
document the behaviour and reference the place it is used to avoid
confusion on future code review
2024-09-09 13:43:43 +02:00
akallabeth
cec6fef1de
Merge pull request #10575 from akallabeth/ffmpeg-detect-update
...
Ffmpeg detect update
2024-09-09 12:59:15 +02:00
akallabeth
52ee2e4668
[cmake] unify ffmpeg and swscale detection
2024-09-09 12:20:17 +02:00
Vic Lee
929e4bdf8d
[core,transport] fix ssl info callback function signature and some warnings.
2024-09-09 17:42:14 +08:00
akallabeth
9738fc40f3
Merge pull request #10548 from akallabeth/serial-port
...
[BSD] build-serial-port
2024-09-09 09:41:12 +02:00
akallabeth
02d9d56536
Merge pull request #10563 from llyzs/transport_io
...
Add new transport io layer design and support custom socket.
2024-09-06 15:18:20 +02:00
akallabeth
6a64fe121b
Merge pull request #10569 from akallabeth/fprintf-void
...
Fprintf void
2024-09-06 10:44:32 +02:00
akallabeth
2170cc65e3
[warnings] cast return of fprintf (void)
...
fprintf returns a value. Not using it is mostly fine, but it generates
noise when compiling with all warnings on, so cast to (void)
2024-09-06 09:16:21 +02:00
akallabeth
1e1e9a445b
[utils,gfx] add rdpgfx_caps_version_str
2024-09-06 08:38:37 +02:00
akallabeth
749023bacb
Merge pull request #10555 from akallabeth/cast-fix-tls
...
[crypto,tls] simplify function pointer cast
2024-09-05 17:18:27 +02:00
Vic Lee
ae05778644
[core,transport] add new transport io layer design and support custom socket.
2024-09-05 20:59:21 +08:00
akallabeth
64a0d87c98
fix missing prototype
2024-09-04 22:15:38 +02:00
akallabeth
798421e883
fix missing static for functions
2024-09-04 22:12:32 +02:00
akallabeth
6a1c3b4545
[function pointer] use macro for GetProcAddress
...
Cast all results of GetProcAddress with WINPR_FUNC_PTR_CAST
2024-09-04 21:31:48 +02:00
akallabeth
245afb706c
[function pointers] unify casts with macro
2024-09-04 20:06:45 +02:00
akallabeth
1a9766e190
[warnings] fix function pointer casts
2024-09-04 20:06:43 +02:00
akallabeth
9776cc109e
[crypto,tls] simplify function pointer cast
2024-09-04 20:06:40 +02:00
akallabeth
e37dffaca4
[crypto,tls] disable linter warning
...
the argument is #ifdefed, so some configurations produce a warning
2024-09-04 12:50:46 +02:00
akallabeth
5aff241096
Merge pull request #10554 from akallabeth/tidy-silence
...
Tidy silence
2024-09-04 10:35:22 +02:00
akallabeth
b6e72c7674
Merge pull request #10551 from akallabeth/arch-fixes
...
Arch fixes
2024-09-04 09:56:35 +02:00
akallabeth
3e933203e2
[crypto,tls] fix bad-function-cast
...
do silence the compiler warning and add a comment why we do that.
2024-09-04 09:41:53 +02:00
akallabeth
c5f346488f
[crypto,tls] revert const argument
...
with some build options this needs to be writeable.
2024-09-04 09:03:21 +02:00
akallabeth
f3d84d4557
[warnings] use ARRAYSIZE macro
2024-09-03 15:10:58 +02:00
akallabeth
baa70d1ab6
[warnings] fix compare integers of different signs
2024-09-03 15:10:46 +02:00
akallabeth
42b078a59d
[emu,scard] smartcard emulation cleanup
...
* Fix readability-non-const-parameter (disable lint, API requires these
to be non const)
* Return an appropriate error for functions returning
SCARD_E_UNSUPPORTED_FEATURE if there is a parameter wrong
* Remove unused functions
2024-09-03 12:24:55 +02:00
akallabeth
5a4a1a40ad
fix declaration and implementation parameter names
2024-09-03 12:24:53 +02:00
akallabeth
f7fd817d1c
[warnings] fix redundant casting
2024-09-03 12:24:51 +02:00
akallabeth
852e0c1450
[common,assistance] fix shadowed variable
2024-09-03 12:17:33 +02:00
Armin Novak
fe4cb6de65
[warnings] fix float/double warnings
2024-09-02 16:20:20 +02:00
Armin Novak
5791b2a5aa
[codec,dsp] fix ffmpeg warnings
2024-09-02 13:39:12 +02:00
akallabeth
e756c90569
[warnings] clang-tidy suppress warnings
...
* Suppress NOLINT(bugprone-suspicious-include)
* Suppress __STDC_WANT_LIB_EXT1__ 1 // NOLINT(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp)
2024-08-30 22:03:47 +02:00
akallabeth
1dea19ac5f
[warnings] clang-tidy suppress warnings
...
* Suppress NOLINT(bugprone-suspicious-include)
* Suppress __STDC_WANT_LIB_EXT1__ 1 // NOLINT(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp)
2024-08-30 16:01:11 +02:00
akallabeth
5887f8a558
[warnings] suppress warnings
...
Some warnings can not be solved as they depend on external libraries or
limitations of the C standard.
Suppress these warnings selectively
2024-08-30 15:40:16 +02:00
akallabeth
3674c5c2f7
[common,assistance] eliminate pedantic cast warnings
2024-08-30 15:40:10 +02:00
akallabeth
48aaa53a84
[codec,dsp] fix restrict warning
2024-08-30 15:40:06 +02:00
akallabeth
7d3b2aebfd
[warnings] silence WINPR_FALLTHROGH
2024-08-30 15:40:03 +02:00
akallabeth
190929c018
[warnings] fix function pointer casts
2024-08-30 15:40:01 +02:00
akallabeth
f22018302f
[warnings] revert some mismatching function declarations
2024-08-30 08:39:30 +02:00
akallabeth
ba9897f8b7
[warnings] replace rand() function use
2024-08-29 17:13:53 +02:00
akallabeth
bd637c6cd1
[warnings] fix various clang-tidy warnings
2024-08-29 17:13:50 +02:00
akallabeth
36c3184a0f
[warnings] fix clang-tidy issues in libfreerdp
2024-08-29 15:34:22 +02:00
akallabeth
9c9d74e920
[warnings] fix redundant casts
2024-08-29 12:03:09 +02:00
akallabeth
91cb77a85e
[warnings] fix uninitialized variable warnings
2024-08-29 11:43:26 +02:00
akallabeth
af813a0929
[cmake,clang-tidy] do not use explicit .clang-tidy
...
if not explicitly added the nearest .clang-tidy file to the compiled
source is used.
2024-08-29 11:18:36 +02:00
akallabeth
15456e1ee1
[warnings] fix implicit widening conversion
2024-08-29 10:47:20 +02:00
akallabeth
4439240fd3
Merge pull request #10525 from akallabeth/warn-fixes-err33-c
...
[warnings] fix cert-err33-c
2024-08-29 10:35:57 +02:00
akallabeth
1d33095500
[warnings] fix cert-err33-c
...
Fix unused return values, cast to void if on purpose
2024-08-29 10:19:27 +02:00
akallabeth
622fcc7025
[warnings] fix types and guards
...
Fix some broken define guards and a wrong return type
2024-08-29 09:53:48 +02:00
akallabeth
eeba99d73e
Merge pull request #10523 from akallabeth/autoreconnect-fix
...
[core,client] flush pending channel messages
2024-08-28 16:42:05 +02:00
akallabeth
380c5808a0
Merge pull request #10518 from akallabeth/clang-tidy-cleanup
...
Clang tidy cleanup
2024-08-28 16:36:16 +02:00
akallabeth
4ccfbc96ac
[core,client] flush pending channel messages
...
on disconnect flush all pending messages to avoid sending on reconnect.
2024-08-28 14:13:28 +02:00
akallabeth
de5b7c8e42
Merge pull request #10521 from akallabeth/warn-fix-uninit
...
[warnings] fix uninitialized variables
2024-08-28 11:12:11 +02:00
akallabeth
743c923ca7
Merge pull request #10516 from troyrollo/ssh-askpass-support
...
Add support for getting passwords from ssh-askpass
2024-08-28 11:11:35 +02:00
Armin Novak
03449da9e9
[warnings] fix uninitialized variables
2024-08-28 10:46:40 +02:00
Armin Novak
3b1c1e0af1
[warnings] fix cppcoreguidelines-init-variables
2024-08-28 10:15:36 +02:00
akallabeth
8e4f9ad5ac
[utils,passphrase] do not check for SSH_ASKPASS
2024-08-28 10:14:06 +02:00
akallabeth
396b3b51b4
[utils,passphrase] format & clean code
2024-08-28 10:08:30 +02:00
Armin Novak
d71af44bb1
[warnings] disable warnings for generated code
...
* Disable clang-tidy in test build directories
* Disable compiler warnings for test binary directories.
These contain generated code we can not change, so the warnings are just noise
2024-08-28 09:18:30 +02:00
Troy Rollo
3f0000df0f
Add support for getting passwords from ssh-askpass
2024-08-28 13:44:21 +10:00
David Fort
f1b299c3e2
core: relax check in freerdp_peer_new
...
Not all socket kinds have the TCP_NODELAY option (especially local UNIX sockets),
so don't make the setsockopt fatal.
2024-08-26 19:53:49 +02:00
akallabeth
56d660f258
[cmake] mark dependency includes SYSTEM
...
Mark all dependency include paths SYSTEM so warnings from system headers
are excluded from ci warning statistics
2024-08-26 11:10:49 +02:00
akallabeth
679de71056
[core,nla] remove platform guards for PasswordHash
...
Fixes #10507 : do not ask for password if PasswordHash is supplied on
windows.
2024-08-26 09:23:55 +02:00
akallabeth
86e2789d9b
[coverity] fix warnings
2024-08-26 09:19:06 +02:00
akallabeth
ba7fd06ec4
[coverity] fix some warnings
...
* mostly dead store and identical code branches.
* some possible integer overflows
2024-08-23 12:38:41 +02:00
Armin Novak
8f55f33951
[gdi,bitmap] initialize buffer solid black
2024-08-21 15:14:43 +02:00
Armin Novak
502640caca
[gdi,gfx] SolidFill always use alpha 0xff
2024-08-21 15:13:53 +02:00
Armin Novak
17d44e847f
[coverity] fix various warnings
2024-08-21 09:47:34 +02:00
akallabeth
0fe5831187
Merge pull request #10491 from akallabeth/tcp_probe_addrinfo
...
[core,tcp] retry all DNS entries until success
2024-08-20 14:08:06 +02:00
akallabeth
4286a4c164
[core,tcp] retry all DNS entries until success
...
When resolving some DNS name with getaddrinfo try all returned entries
matching the configuration (IPv4|IPv6|any) until the socket can be
connected. Fixes #5335
2024-08-20 13:10:12 +02:00
akallabeth
c2d30a07e9
[crypto,cert] add getter for notBefore and notAfter
...
Add getters for ceritificate dates notBefore and notAfter. Returns the
date as RFC822 string.
2024-08-20 12:42:46 +02:00
akallabeth
63d87dcf18
[core,update] ensure EndPaint before DesktopResize
...
When DesktopResize is called EndPaint might not have been. Ensure the
update-lock is released and data flushed before resizing.
2024-08-20 09:54:56 +02:00
akallabeth
dac0ae4976
[crypto,cert] extend certificate store API
...
Use the certificate PEM without trustchain in the local trust store, but
keep the full PEM with chain for the user facing callbacks.
2024-08-13 15:56:08 +02:00
akallabeth
22fb6aad31
[crypto,tls] fix AcceptedKey checks
...
* Add freerdp_certificate_get_pem_ex to extract PEM for cert only
* Compare only certificate without certificate chain
* Store only certificate PEM without chain for later comparison
2024-08-13 07:40:07 +02:00
akallabeth
173f6f5c17
Merge pull request #10425 from akallabeth/scard-cache
...
[emu,scard] use single cache
2024-08-08 11:16:01 +02:00
akallabeth
11b7ca4753
fix #10449
2024-08-08 08:16:40 +02:00
akallabeth
d099c2ffd2
[emu,scard] use single cache
...
Just like with PCSC use a single cache and create the identifier from
UUID and identifier
2024-07-25 15:47:44 +02:00
akallabeth
86f2b1e26a
[core,capabilities] skip stream bytes read in substream
2024-07-25 11:19:15 +02:00
akallabeth
2f5570cd67
Merge pull request #10423 from akallabeth/action_script
...
[client,X11] fix ActionScript
2024-07-25 10:00:26 +02:00
akallabeth
828428ae17
Merge pull request #10422 from akallabeth/rfx_improve
...
Rfx improve
2024-07-25 09:47:45 +02:00
Armin Novak
44b07721ec
[client,X11] fix ActionScript
...
* Unify script calls
* Update documentation
* Fix home directory
2024-07-25 09:42:03 +02:00
akallabeth
221181f713
[locale,x11] add proper checks for atom
2024-07-25 07:47:42 +02:00
Armin Novak
f167ccff4e
[core,capabilities] Fix SurfaceCommandsSupported
...
* Initialize in settings_new with everything supported
* merge client & server settings
* Write capabilities from current SurfaceCommandsSupported setting
2024-07-24 21:54:54 +02:00
Armin Novak
850389de44
[core,capabilities] pass RemoteFxRlgrMode and RemoteFxCodecMode
2024-07-24 21:54:51 +02:00
Armin Novak
22585a31ce
[core,capabilities] fix NSCodecId and SurfaceCommandsSupported parsing
2024-07-24 21:54:42 +02:00
Armin Novak
96b945aa83
[settings] Added SurfaceCommandsSupported setting
2024-07-24 21:54:39 +02:00
Armin Novak
e888769bf6
[core,capabilities] fix RFX capability parsing
...
* Require SURFCMDS_STREAM_SURFACE_BITS
* Improve error logging
* Improve content length checks
2024-07-24 21:54:30 +02:00
Armin Novak
268bf25f02
[settings] add RemoteFxRlgrMode setting
2024-07-24 21:54:26 +02:00
Armin Novak
9e71b423cd
[warnings] fix various compiler warnings
2024-07-24 11:08:20 +02:00
akallabeth
776083234b
[warnings] fix unused-but-set-variable
2024-07-23 09:14:19 +02:00
akallabeth
7d2afe4f5a
[crypto,base64] fix sign warnings
2024-07-22 15:08:51 +02:00
akallabeth
325fb16301
[emu,scard] fix compiler warnings
2024-07-22 15:08:48 +02:00
akallabeth
10ac4ff8e6
[codec,dsp] fix fdk aac return check
2024-07-22 15:08:46 +02:00
akallabeth
45a7e5fd37
[crypto,base64] fix compiler warning
2024-07-22 15:08:43 +02:00
akallabeth
09a6655823
[primitives,opencl] fix deprecations
2024-07-22 15:08:41 +02:00
akallabeth
d081b515ea
[codec,dsp] replace __FUNCTION__ with __func__
2024-07-22 15:08:15 +02:00
akallabeth
775dac79db
Merge pull request #10403 from akallabeth/ffmpeg-dsp-revert
...
[codec,dsp] revert FFMPEG related changes
2024-07-22 11:21:05 +02:00
akallabeth
4b6d614f19
Merge pull request #10394 from akallabeth/kbd_layout_from_file
...
Kbd layout from file
2024-07-22 11:07:57 +02:00
Armin Novak
3ca781075f
[codec,dsp] revert FFMPEG related changes
...
some changes were not intended, revert these.
2024-07-22 10:54:51 +02:00
Armin Novak
a332613ea1
[core,update] force deactivate AsyncUpdate
...
With recent releases various race conditions with AsyncUpdate have been
found. As there is no easy way to properly fix this deactivate it for
the time being and warn users about it.
2024-07-22 10:24:11 +02:00
akallabeth
fa75f223a9
Merge pull request #10399 from hedwigz/patch-2
...
Update smartcard_pack.c
2024-07-22 08:01:01 +02:00
Amit Shani
81a4733f5f
Update smartcard_pack.c
...
typos
2024-07-21 14:12:48 +03:00
Amit Shani
78493760ee
Update smartcard_call.c
...
typo
2024-07-21 13:48:13 +03:00
akallabeth
6721fd9d0c
[locale,keyboard] add keyboard id from file
...
Add the option to load keyboard layouts from a JSON file.
2024-07-19 16:00:56 +02:00
akallabeth
3cd3f9a126
[core,gateway] add NULL checks in send function
2024-07-16 15:45:27 +02:00
akallabeth
5685465968
[codec,dsp] fix FFMpeg checks and deprecations
2024-07-11 16:39:43 +02:00
Armin Novak
99f504640c
[codec,dsp] add FDK-AAC support
...
Support fdk-aac library for sound encoding/decoding
Special thanks to myth0s who posted the working decoder configuration
sample on our matrix chat.
2024-07-10 17:04:26 +02:00
Armin Novak
e54cd3ec13
[codec,dsp] ensure intermediate buffer size
2024-07-10 15:53:12 +02:00
Armin Novak
848033839e
[codec,dsp] split out DSP common components
...
Use common initializing/destruction routines and struct for FFMPEG and
alternate codec implementations
2024-07-10 14:35:16 +02:00
akallabeth
3838b18b58
Merge pull request #10369 from abenson/fixi686AVX
...
libfreerdp: fix cmake typo
2024-07-10 09:02:35 +02:00
Andrew Benson
80aa6b8fb4
libfreerdp: fix typo (AVX not AVC)
2024-07-09 11:11:38 -05:00
David Fort
bbb6adc9c4
[core] also recognize mth:// routing token
...
With Azure you also have some routing token of the form mth://xxxxxxx, so accept
these as token.
2024-07-09 11:07:06 +02:00
akallabeth
d91f90c7cc
Merge pull request #10352 from akallabeth/revert-img-memcpy
...
[primitives,copy] revert single memcpy
2024-07-07 15:40:15 +02:00
akallabeth
62b55caccd
Merge pull request #10360 from akallabeth/sse-warn
...
[primitives,sse] fix char/uchar conversion warnings
2024-07-07 15:39:57 +02:00
akallabeth
2fd4a59d36
[primitives,sse] fix char/uchar conversion warnings
2024-07-06 21:21:57 +02:00
akallabeth
17d195b7a6
[core,capabilities] fix CapsProtocolVersion
...
if the wrong version 0x0000 is sent (older FreeRDP based servers)
correct the value to TS_CAPS_PROTOCOLVERSION (0x0200) along with a
warning message.
2024-07-06 12:48:11 +02:00
akallabeth
c87b2cc93d
[primitives,copy] revert single memcpy
...
copying the while image messes up as the src and destination strides not
necessarily align. (reverts 1a58e74c17
)
2024-07-05 14:35:21 +02:00
akallabeth
b1355471c5
[cmake,intrinsics] fix NEON detection
...
* detect 32bit ARM architectures
* do not set -mfpu=neon for 64 bit architectures
2024-07-05 09:45:34 +02:00
Armin Novak
3c41de6382
[cmake] move intrinsic support to file
...
Create DetectIntrinsicSupport.cmake to unify intrinsic detection and use
2024-07-04 13:25:40 +02:00
Armin Novak
b6dcefb126
[cmake] Add proper SSE/NEON detection
...
Detect actual use of SSE/NEON depending on defined symbols rather than
CMake flags.
2024-07-04 09:36:45 +02:00
akallabeth
d055e89c4c
Merge pull request #10337 from akallabeth/tsg-quarenc-fix
...
[core,gateway] fix reading TSG strings
2024-07-03 16:21:33 +02:00
Armin Novak
eff4252651
[gdi,gfx] fix spelling error
2024-07-03 15:52:34 +02:00
Armin Novak
7a245a5949
[core,gateway] fix reading TSG strings
...
The [MS-TSGU] 2.2.9.2.1.6 TSG_PACKET_QUARENC_RESPONSE::certChainLen
represents the number of WCHAR not the size in bytes.
2024-07-03 15:37:44 +02:00
akallabeth
438cf4b333
[core,gateway] fix freerdp_tls_new call
2024-07-02 11:48:54 +02:00
akallabeth
7b7bea276c
Merge pull request #10327 from mfleisz/fix/auth-last-error
...
core: Fix handling of logon errors during nla_client_begin
2024-07-01 17:16:38 +02:00
Martin Fleisz
d8cd7c2f38
core: Fix handling of logon errors during nla_client_begin
...
Under certain circumstances `InitializeSecurityContext` returns an error
if a wrong password was provided. This PR checks the returned status
code and correctly sets the last error code. This allows a client
application to ask the user again for credentials.
A scenario where this happens is when a user tries to connect with a wrong
password and both machines are joined to the same domain.
2024-07-01 14:54:53 +02:00
akallabeth
ab39072ce9
[core,tcp] fix memory leak
2024-07-01 11:07:39 +02:00
akallabeth
562fa8a03d
[core,tcp] Improve IPv4 or IPv6 connect
...
* Fix +ipv6 option, now fall back to IPv4 if no IPv6 entry found
* Add new option ForceIPvX to fail connect if no such entry is found
2024-06-28 09:07:33 +02:00
akallabeth
431a96fe85
[core,gateway] properly log location
2024-06-27 08:46:48 +02:00
akallabeth
1de8f5a7aa
[core,gateway] pass rdpContext
...
* pass rdpContext to freerdp_tls_new
* check freerdp_shall_disconnect_context in http_response_recv
2024-06-27 08:42:08 +02:00
akallabeth
559e770982
[gateway,http] implement proper timeouts
...
Implement request timeouts in http_response_recv, use TcpConnectTimeout
as default
2024-06-26 22:53:09 +02:00
akallabeth
3c4c827358
[winpr,timezone] Fix GetDynamicTimeZoneInformation
...
* Improve logging, use single function to dump data.
* Use GetDynamicTimeZoneInformation as man getter,
GetTimeZoneInformation only retrieves a subset.
2024-06-26 20:59:43 +02:00
akallabeth
9b89d8fa23
[core,timezone] improve timezone logging
...
* Unify logging to single function
* Add helpers to format magic numbers as strings
2024-06-26 20:37:41 +02:00
akallabeth
b0f7ab7d16
[freerdp,cmake] fix linking of object library
...
do add to source files so that static linking does not look for a static
library once installed.
2024-06-25 15:44:57 +02:00
Martin Fleisz
a01639e3c4
Merge pull request #10304 from akallabeth/neon-sse-guard
...
Neon sse guard
2024-06-25 11:52:27 +02:00
akallabeth
7abf5eb3a7
[cmake,codec] fix WITH_OPUS
...
detect Opus in libfreerdp directly.
The target definition is there and if we run detection in a subdirectory
the required symbols are not visible
2024-06-25 11:30:42 +02:00
akallabeth
8020efcd0b
[primitives,codec] guard NEON code with platform
...
NEON optimized code might be used in multiarch/universal builds.
So not only guard with WITH_NEON but also with architecture defines from
winpr/platform.h
2024-06-25 10:00:41 +02:00
akallabeth
896ea3c445
[primitives,codec] guard SSE code with platform
...
SSE optimized code might be used in multiarch/universal builds.
So not only guard with WITH_SSE2 but also with architecture defines from
winpr/platform.h
2024-06-25 09:56:52 +02:00
Martin Fleisz
628f045de6
Merge pull request #10303 from akallabeth/fix_clang_detect
...
[cmake] unify clang detection
2024-06-25 09:44:35 +02:00
akallabeth
370975cbd4
Merge pull request #10288 from akallabeth/http_read_timeout
...
[core,gateway] use TcpConnectTimeout for read as well
2024-06-25 09:17:06 +02:00
akallabeth
26e570e9fe
[cmake] unify clang detection
...
* Move Clang detection to own CMake file
* Check for Clang and AppleClang
* Use CMAKE_COMPILER_IS_CLANG to check for Clang in code
2024-06-25 09:09:50 +02:00
Armin Novak
0810e7d944
[core,settings] enable SupportDynamicTimeZone
...
FreeRDP based clients & servers support it. If a remote does not support
it it is not send/received.
2024-06-24 14:38:39 +03:00
Armin Novak
c4fe6e78e5
[core,tcp] return errno ETIMEDOUT on timeout
...
BIO_C_WAIT_READ and BIO_C_WAIT_WRITE now set errno = ETIMEDOUT
if a timeout occurred.
2024-06-24 10:45:12 +02:00
Armin Novak
8df1a9a52a
[core,tcp] replace macros with inline functions
2024-06-24 10:43:24 +02:00
akallabeth
66f31e5bb9
[core,gateway] use TcpConnectTimeout for read as well
...
http_response_recv might never receive an answer, so do wait for input
and fail if the timeout is exceeded.
2024-06-24 10:38:52 +02:00
akallabeth
e3809650bb
[core,keyboard] Prefer FreeRDP_KeyboardCodePage
...
if FreeRDP_KeyboardCodePage is set use the default keyboard layout for
the codepage instead of the autodetected one.
2024-06-20 10:27:50 +02:00
akallabeth
e03a6a269e
[locale] add functions for locale mapping
...
* function to map short language strings ("en", ...) to a codepage
* function to get a default keyboard layout for a codepage
* function to list supported codepages
2024-06-20 10:27:43 +02:00
akallabeth
95ed12530f
[core,nego] unify protocol to string
...
use a generic function to stringify SelectedProtocol and
RequestedProtocols variables.
2024-06-18 20:49:50 +02:00
akallabeth
889dff4f55
[primitives] log initialization
2024-06-18 08:52:28 +02:00
akallabeth
0633623b6d
Merge pull request #10281 from mfleisz/fix/cert-chain-pem
...
crypto: Fix handling of cert chain in get PEM function
2024-06-17 18:24:16 +02:00
akallabeth
d9473be307
[crypto,base64] force signed char
...
for lookup force signed char to avoid (unsigned)-1 casts
2024-06-17 17:02:41 +02:00
Martin Fleisz
7368c65240
crypto: Fix handling of cert chain in get PEM function
2024-06-17 14:48:15 +02:00
akallabeth
3cecd1de06
[primitives] refactor, split sse/neon/opencl
2024-06-17 13:15:14 +02:00
akallabeth
eedb5590b2
[primitives,copy] add fallback path
...
color format conversions that do not have an accelerated implementation
are now handled by generic pixel copy
2024-06-17 09:13:47 +02:00
akallabeth
bcd663b7d9
Merge pull request #10269 from akallabeth/image_copy_sse
...
Image copy sse
2024-06-12 16:45:57 +02:00
akallabeth
52b6381a73
[core,gateway] filter out empty IPs from JSON
2024-06-11 17:37:35 +02:00
akallabeth
82ce4f2228
[core,arm] Add all RDSTLS IP to TargetNetAddresses
2024-06-11 17:37:33 +02:00
akallabeth
3c70feb943
[core,rdstls] set last error on authentication response
2024-06-11 17:37:30 +02:00
akallabeth
550a3e40c7
[ci,ios] update defaults
2024-06-11 13:26:09 +02:00
akallabeth
311068e605
[primitives] add image copy primitive
...
* move freerdp_image_copy_no_overlap implementation to primitives
* add SSE4.1 and AVX2 optimizations
2024-06-11 13:26:06 +02:00
akallabeth
2ee987e665
[cmake,codec] refactor codec
...
* move sse and neon implementations to own subdirectories
* add stubs for missing optimizations (with log messages)
2024-06-11 12:16:20 +02:00
akallabeth
e8cca22d2a
[cmake] refactor libfreerdp
...
* Move codec and primitives to own CMakeLists.txt
* Add freerdp_object_library_add
* add freerdp_compile_options_add
2024-06-11 09:44:05 +02:00
oleg0421
bad6cab2e4
RDPECAM client: h264 interface changes
2024-06-10 14:48:31 +02:00
akallabeth
a5bb0bf203
[primitives] add lShiftC_16s_inplace
2024-06-08 08:34:21 +02:00
akallabeth
dee9019e7c
[codec,progressive] use add_16s_inplace
2024-06-08 08:34:18 +02:00
akallabeth
cd72043811
[primitives,ipp] remove remaining IPP defines
2024-06-08 08:34:15 +02:00
akallabeth
f19098da83
[primitives,prim_add] add new add_16s_inplace
2024-06-08 08:34:11 +02:00
akallabeth
c780210624
[rfx,dwt] cleanup variables
2024-06-08 08:34:06 +02:00
akallabeth
87ee8f5b77
[crypto,base64] use lookup tables
2024-06-08 08:34:02 +02:00
akallabeth
a93658cd06
[crypto,base64] apply INLINE and WINPR_RESTRICT
2024-06-07 12:32:16 +02:00
akallabeth
7aa72a7507
[core,settings] unify configuration paths
...
* Add new function freerdp_settings_get_config_path to get current
user configuration directory
* Add CMake option WITH_FULL_CONFIG_PATH (default OFF): If defined, use
<appdata>/Vendor/Product as config directory, otherwise use
<appdata>/vendor (lowercase, only if vendor equal to product)
2024-06-06 11:31:22 +02:00
akallabeth
ab3ee12360
Merge pull request #10259 from akallabeth/rdstls-result-code
...
Rdstls result code
2024-06-05 23:39:30 +02:00
akallabeth
064a58912b
[gdi,gfx] fix gfx dump variables and format string
2024-06-05 23:15:22 +02:00
akallabeth
66e4188514
[core,rdstls] fix result code
...
the rdstls result codes are specific to rdstls and not shared with
NTSTATUS et al.
2024-06-05 23:13:57 +02:00
Armin Novak
7eeaabad8b
[core,childsession] initialize variables
2024-06-05 15:57:46 +02:00
Armin Novak
036228a294
[core,proxy] fix missing return check
2024-06-05 15:23:53 +02:00
Armin Novak
b9e434be48
[core,peer] check return of setsockopt
2024-06-05 15:23:53 +02:00
akallabeth
1a2374ea0b
Merge pull request #10247 from akallabeth/progressive-speedup
...
Progressive preallocate workers, inline functions
2024-06-05 11:09:55 +02:00
Armin Novak
8d783d5189
[covertity] fix various warnings
2024-06-05 09:19:59 +02:00
akallabeth
3c2702afd3
[codec,progressive] use preallocated workers
...
allocate PTP_WORK and PROGRESSIVE_TILE_PROCESS_WORK_PARAM in
PROGRESSIVE_BLOCK_REGION
2024-06-04 18:49:47 +02:00
akallabeth
c07ba558cb
[warnings] fix various compiler warnings
2024-06-04 13:23:24 +02:00
akallabeth
7854c969c1
Merge pull request #10235 from akallabeth/speedup
...
Speedup
2024-06-04 10:31:32 +02:00
akallabeth
96f68dca74
[codec,color] optimize image copy
...
provide optimized functions for alpha blending in different color formats
2024-06-04 09:27:20 +02:00
akallabeth
6ad17cac6e
[codec,progressive] restrict keyword
2024-06-03 17:55:35 +02:00
akallabeth
bfffe28de6
[test,codec] speed up copy test
...
* Reduce default resolution from fullHD to fullHD/10
* Add command line arguments to set width and height manually
2024-06-03 17:55:30 +02:00
akallabeth
ef91d12b3d
[codec,h264] add restrict keyword
2024-06-03 17:55:24 +02:00
akallabeth
4eca9ac7f8
[codec,dsp] restrict keyword
2024-06-03 17:55:22 +02:00
akallabeth
a9e3fb1b33
[codec,color] restrict keyword
2024-06-03 17:55:19 +02:00
akallabeth
fd592b9cf1
[codec,nsc] add INLINE and restrict keywords
2024-06-03 17:55:16 +02:00
akallabeth
49bce0436c
[codec,bulk] restrict keyword
2024-06-03 17:55:08 +02:00
akallabeth
ef5c710f85
[codec,clear] restrict keyword
2024-06-03 17:54:44 +02:00
akallabeth
f5ede1669e
[codec,bitmap] restrict keyword
2024-06-03 17:54:41 +02:00
akallabeth
25e7729cbc
[codec,interleaved] restrict keyword
2024-06-03 17:54:39 +02:00
akallabeth
f34189aaef
[codec,zgfx] restrict and inline keywords
2024-06-03 17:54:35 +02:00
akallabeth
6587ff50d2
[codec,xcrush] restrict keyword
2024-06-03 17:54:32 +02:00
akallabeth
b12e512e08
[codec,planar] restrict keyword
2024-06-03 17:54:29 +02:00
akallabeth
16955111b7
[test,gfx] add gfx dump option
2024-06-03 17:54:24 +02:00
akallabeth
4b93a9fffa
[codec,rfx] inline and restrict
2024-06-03 17:54:21 +02:00
akallabeth
f422ea2e56
[core,gcc] check for channelMaxCount violations
2024-06-03 16:53:31 +02:00
akallabeth
4899cf5c0f
[codec,yuv] use restrict keyword
2024-06-03 14:50:57 +02:00
akallabeth
a69dd9ad36
[sspi,krb] check for empty kdcUrl
2024-06-03 12:28:49 +02:00
Armin Novak
496dcff1cf
[core,codecs] fix API function names
...
* deprecate codecs_new and codecs_free
* add new freerdp_client_codecs_new and freerdp_client_codecs_free
2024-05-29 14:34:18 +02:00
akallabeth
07acfed668
[codec,color] add freerdp_image_copy test case
2024-05-27 10:00:12 +02:00
akallabeth
e9b5555652
[codec,color] inline functions used internally
...
for freerdp_image_copy inline all functions that are used to speed up
copying.
2024-05-27 09:52:09 +02:00
akallabeth
5fe0c5f9fc
[codec,color] check for image_copy widht or height 0
2024-05-25 09:17:13 +02:00
akallabeth
53d8e0f203
[crypto,tls] fix missing return
2024-05-25 09:17:06 +02:00
akallabeth
ef4e6ee2c9
[common,settings] add GfxSuspendFrameAck
2024-05-24 11:51:56 +02:00
akallabeth
e253d78053
Merge pull request #10208 from akallabeth/image_copy_improve
...
Image copy improve, bugfixes
2024-05-24 09:01:00 +02:00
akallabeth
776a7b727f
[core,gcc] clear multitransport
...
if the client does not send a multitransport capability clear the flags.
2024-05-23 14:48:41 +02:00
akallabeth
ef86df9a26
[crypto,tls] log BIO_do_handshake errors
...
add proper logging to make details of failures auditable
2024-05-23 14:48:39 +02:00
akallabeth
1b3f3a0408
[codec,color] expose freerdp_image_copy (no)overlap
...
expose functions for overlapping and non overlapping images to use
directly
2024-05-23 14:48:36 +02:00
akallabeth
1a58e74c17
[codec,color] freerdp_image_copy_no_overlap
...
use single memcopy if possible to speed up copy
2024-05-23 14:48:33 +02:00
akallabeth
afde527120
[gdi,gfx] unify updatesurfaces calls
2024-05-23 14:26:17 +02:00
David Fort
3147df8486
[core] fix clientInfo with both dynamicTimeZone and reconnect cookie
...
The ClientInfo packet was wrongly forged when we had dynamic timezone and a
reconnect cookie (reserved fields written twice).
2024-05-23 12:32:10 +02:00
akallabeth
5ca17aa8f3
[core,streamdump] use dynamic logger
...
* Decrease logging verbosity of streamdump
* Fix namespace of logger
* Use dynamic preallocated logger
2024-05-21 11:41:59 +02:00
akallabeth
8d5c5dc2ef
[core,caps] Allow invalid TS_GENERAL_CAPABILITYSET::protocolVersion
...
some FreeRDP versions did send an invalid value of 0x0000 instead of the
required 0x200. Log this kind of violation but continue.
2024-05-20 15:13:12 +02:00
akallabeth
470ef43da2
[core,streamdump] implement nodelay
...
allow records to be played without delay making them faster than
originally recorded
2024-05-17 10:36:22 +02:00
akallabeth
d545509f72
[settings] add TransportDumpReplayNodelay
2024-05-17 10:10:02 +02:00
akallabeth
3ced20ec5b
[core,streamdump] reset stream if packet discarded
...
* in stream_dump_replay_transport_read function discard previously
read data if it was discarded.
* stream_dump_register_read_handlers needs to set
freerdp_io_callback_set_event as otherwise we would block indefinitely
waiting for the first data read to occur.
2024-05-17 10:04:07 +02:00
Ondrej Holy
9aca06e0b7
[core,gateway] always return in case of error
...
Currently, the `arm_handle_bad_request` function returns `FALSE` when the
`cJSON_ParseWithLength` function fails to parse the message, but only when
the `cJSON_GetErrorPtr` returns a valid pointer. It would be better to
return regardless of the `cJSON_GetErrorPtr` return value.
2024-05-16 11:56:03 +02:00
akallabeth
8bdf92ca52
[utils] link m library if required
2024-05-14 20:45:38 +02:00
akallabeth
aaded541d9
[core,client] replace cJSON with WinPR wrapper
...
use the new WinPR JSON wrapper API
2024-05-14 20:45:31 +02:00
akallabeth
1efefceb5c
[core,settings] refactor /network
...
* add CONNECTION_TYPE_INVALID
* default to CONNECTION_TYPE_AUTODETECT
* allow /network:invalid and /network:0 to disable
2024-05-14 11:18:29 +02:00
akallabeth
a1d8754f1f
[core,autodetect] abort on unexpected message.
2024-05-14 11:07:50 +02:00
Armin Novak
e272eb3966
[warnings] fix Wshadow warnings
2024-05-08 15:30:01 +02:00
Armin Novak
47ac961cb9
[core,settings] initialize DynamicDSTTimeZoneKeyName
2024-05-08 10:08:08 +02:00
akallabeth
ef83633c01
[codec,nsc] length checks in nsc_rle_decompress_data
2024-04-26 09:26:07 +02:00
akallabeth
d5f8b337c4
[codec,nsc] add restrict keyword
2024-04-26 09:26:07 +02:00
Armin Novak
e9bfd585ae
[core,capabilities] ensure ImeFileName is '\0' terminated
2024-04-25 10:27:58 +02:00
Armin Novak
e37acf08b5
[core,redirection] free redirection::TargetNetAddresses
...
during some testcases the packet can be received on already allocated
TargetNetAddresses. So clean up the field before reusing it.
2024-04-25 10:27:58 +02:00
Armin Novak
c909253b11
[core,info] check '\0' termination after length check
2024-04-25 10:27:58 +02:00
Armin Novak
c2e899b6df
[core,fuzzer] fix testcases
...
rdp_recv_save_session_info is a client side only function, remove from
server side tests
2024-04-24 15:55:30 +02:00
Armin Novak
b757276034
[core,redirection] fix reading of TargetNetAddressesCount
...
read to local variable first, check for validity and only after
allocation update the settings value.
2024-04-24 15:55:30 +02:00
Armin Novak
4ce4a6d3fb
[codec,clear] check destination offsets
...
clear_decompress_subcodecs_data might have inavlid offsets, check if
they fit the destination buffers
2024-04-24 15:55:30 +02:00
akallabeth
3fe9363592
[core,capabilities] abort on invalid protocolVersion
...
* TS_GENERAL_CAPABILITYSET::protocolVersion must be
TS_CAPS_PROTOCOLVERSION(0x200) see [MS-RDPBCGR] 2.2.7.1.1
General Capability Set (TS_GENERAL_CAPABILITYSET)
* Default value of FreeRDP_CapsProtocolVersion must be
TS_CAPS_PROTOCOLVERSION(0x200)
2024-04-23 17:13:13 +02:00
Мартынов Максим Сергеевич
890d87f81a
Fix protocolVersion capability reset
2024-04-23 16:03:30 +02:00
akallabeth
fc21b82880
[core,timezone] initialize ClientTimeZone early
...
Initialize ClientTimeZone in freerdp_settings_new to allow replacing the
default later on in command line parser or client connection callbacks
2024-04-23 09:54:52 +02:00
akallabeth
1d6460c5f7
[core,redirection] add sanity check for TargetNetAddress
...
Abort on implausible TargetNetAddressLength values. (check remaining
data length to determine that)
2024-04-23 09:40:36 +02:00
akallabeth
449e8b82f1
[core,capabilities] check TS_BITMAPCACHE_CAPABILITYSET_REV2
...
Check value of TS_BITMAPCACHE_CAPABILITYSET_REV2::numCellCaches for out
of range.
2024-04-23 09:40:36 +02:00
Ondrej Holy
73991c48ce
[winpr,ncrypt] obtain module path from provider
...
Currently, the module path is hardcoded in the build_pkinit_args function.
Let's obtain the module path from provider as a preparation for the
follow-up changes.
2024-04-22 17:42:52 +02:00
akallabeth
8b616f4fad
[core,capabilities] ensure destination array exists
...
ensure the destination array in rdpSettings is large enough to hold the
copy.
2024-04-22 17:41:46 +02:00