Commit Graph

18701 Commits

Author SHA1 Message Date
akallabeth e037f643ea [doc] update SECURITY.md for 3.x branch 2024-05-12 20:15:54 +02:00
Armin Novak e272eb3966 [warnings] fix Wshadow warnings 2024-05-08 15:30:01 +02:00
akallabeth 1b8221e5bf [warnings] fix various minor warnings 2024-05-08 14:53:39 +02:00
akallabeth a403b3bd1c [server,proxy] add missing WINPR_NORETURN 2024-05-08 14:53:39 +02:00
Armin Novak 474e3fa983 [winpr,timezone] fix missing const 2024-05-08 14:53:39 +02:00
akallabeth 95a7f5019a [winpr,timezone] fix clang-tidy warnings 2024-05-08 10:08:08 +02:00
akallabeth f9443a080e [utils,doc] update timezone sync procedure
* add new C# utility to generate timezone mappings
* update procedure to follow for updating timezones
* remove obsolete TimeZones.csx script
* update generated files with new tool
2024-05-08 10:08:08 +02:00
akallabeth 277907d810 [winpr,timezone] add C# timezone extractor 2024-05-08 10:08:08 +02:00
akallabeth cd18532f45 [winpr,timezone] add IANA to short mapping
* Add a generator for IANA and short zone name mappings.
* Add a function to get all IANA mappings for a short zone name.
2024-05-08 10:08:08 +02:00
akallabeth 52a884ed2e [winpr,timezone] refactor timezone mapping
* add option to use ICU as a fallback mapping (eliminate need for
  WindowsZones mapping list)
* extract timezone related settings from localtime_r and eliminate the
  need to parse the complex TimeZones table
* Add new TimeZoneNameMap to map IANA to windows names (Id, Standard,
  Daylight and Display names)
* Implement GetDynamicTimeZoneInformation
2024-05-08 10:08:08 +02:00
Armin Novak 47ac961cb9 [core,settings] initialize DynamicDSTTimeZoneKeyName 2024-05-08 10:08:08 +02:00
Armin Novak d8cabe84ce [client,X11] check PubSub for NULL 2024-05-08 10:08:08 +02:00
akallabeth 3049181d9b [winpr,sspi] skip IP addresses for kerberos auth
kerberos requires hostnames to authenticate, if we connect with a IP
address do not try kerberos based authentication
2024-05-07 10:38:30 +02:00
Richard Markiewicz 61d3f1f201 [client,mac] Enable secure restorable state 2024-05-04 11:50:54 +02:00
مهدي شينون (Mehdi Chinoune) d219ed7179 Don't setup MSVC Runtime on MinGW 2024-05-04 11:33:30 +02:00
toreonify 9118551334 Renamed Atom identifiers, reserved names were used 2024-05-04 11:32:39 +02:00
toreonify 6ea047558e Custom context/popup menus stay on screen
Fix maximized/restored window state
Add support for window allowed actions
2024-05-04 11:32:39 +02:00
akallabeth 9b6fcf728a [winpr,asn1] fix undefined shift 2024-05-03 09:39:13 +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
Armin Novak c172713c41 [client,sdl] handle dialog on key up event
Handle keyboard input dialog status change on key up event. If handled
on key down event the dialog closes and the key up event is handled on
the next SDL event queue (usually connection dialog cancel)
Fixes #10133
2024-04-24 10:35:22 +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
Mariusz Bialonczyk 839f3e8408 uwac: fix window handling/viewport
Parameters passed to wp_viewport_set_destination was scaled instead of
the actual window size. In fact I noticed this problem when I was
testing the initial change (c29ba7985) but was not sure about how to fix
this and moreover, the tiling manager which I am using (sway) is
immediatelly tiling the window and all seems fine in day-to-day use
with tiled window.
The problem was only visible when the window was changed to floating:
the window content was scaled properly but the viewport was twice as
big (thus a whole window). What is worse it seems that the scaling was
done multiple times making a huge window size in some circumstances.

Now in new sway version 1.9 authors added an assert which prevents from
having a window which overlaps different renderers and this also trigger
this problem in FreeRDP, because when starting the window size was too
big.
This was leading to:
wp_viewport@31: error 2: source rectangle out of buffer bounds
or even sway crash

This commit is fixing this problem by using a proper window size values
(initially passed to a function and saved to additional variables before
scaling calculation).
Window size is now correct even when changed to a floating window.
2024-04-23 12:19:00 +02:00
akallabeth 55bd1c2660 [ci,clang-tidy] add libssl-dev dependency 2024-04-23 09:54:52 +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 8b382c8cec [winpr,timezone] update
* update windowsZones.xml url
* update timezones
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
akallabeth fed8943447 [pkcs11.h] remove extra-semi-stmt 2024-04-22 18:02:03 +02:00
Ondrej Holy 30aacc4aae [flatpak] fix typo in module name 2024-04-22 17:42:52 +02:00
Ondrej Holy 35d8bc1782 [winpr,ncrypt] use preferably p11-kit-proxy.so
Currently, the opensc-pkcs11.so library is used for ncrypt support.
However, the p11-kit-proxy.so library is able to aggregate more pkcs11
modules at runtime (OpenSC is one of them, but also some third party
modules that are not supported by OpenSC). Let's use preferably
p11-kit-proxy.so if available.
2024-04-22 17:42:52 +02:00
Ondrej Holy 5a28b046d5 [winpr,ncrypt] bundle pkcs11.h and drop pkcs11-helper dependency
The ncrypt implementation currently relies on the pkcs11-helper library.
That is not available on RHEL for example. Let's bundle the standardized
header file from https://github.com/latchset/pkcs11-headers to avoid the
need for extra dependency.

Related: https://github.com/FreeRDP/FreeRDP/discussions/9982
2024-04-22 17:42:52 +02:00
Ondrej Holy cef3d5e9d4 [winpr,ncrypt] replace deprecated symbol
The CKK_ECDSA symbol is deprecated, it is recommended to use CKK_EC
instead. Let's do this as a preparation for the follow-up changes.
2024-04-22 17:42:52 +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
Ondrej Holy 79975cfbe3 [winpr,ncrypt] drop redundant library paths
The pkcs11 implementaion contains a list of the standard library paths
for various architectures and distribution. But that list also contains
just the opensc-pkcs11.so basename without path. Therefor I am conviced
that all those other entries can be simply dropped. Let's do that as
a preparation for the follow-up changes.
2024-04-22 17:42:52 +02:00
akallabeth a1a8f832f4 [winpr,synch] fix extra-semi warning 2024-04-22 17:41:46 +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 1687a6424a start-3.5.2-dev0 2024-04-22 11:18:39 +02:00
akallabeth eda5c99686 release-3.5.1 2024-04-22 11:18:39 +02:00
akallabeth 3a0ea08e05 changelog 2024-04-22 11:18:39 +02:00
akallabeth c3376e24f4 [ci,fuzz] deactivate libusb, cups 2024-04-22 11:02:04 +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