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
akallabeth
703808591e
[ci,fuzzer] split fastpath tests
...
use dedicated server and client context to test the functions
2024-04-22 11:02:04 +02:00
akallabeth
5b4e39fd7e
[core,orders] shift unsigned value
...
The delta value read is signed, but the operations are done on an
unsigned.
2024-04-22 11:02:04 +02:00
akallabeth
cb15c1c78a
[core,update] fix missing plausibility check
...
abort parsing of cache brush if not enough data is available.
2024-04-22 11:02:04 +02:00
akallabeth
626d10a94a
[core,redirection] fix length of redirection strings
...
length field is in bytes, when converting from UCS-2 use size in WCHAR
2024-04-22 11:02:04 +02:00