Commit Graph

2606 Commits

Author SHA1 Message Date
akallabeth f2e90eca34
[windows,32bit] fix VCAPITYPE consistency
Fixes #10581
2024-09-16 14:15:59 +02:00
akallabeth 7ef9345743
Merge pull request #10549 from hardening/rcg2
core, channels: client-side remote credential guard
2024-09-13 08:24:14 +02:00
akallabeth 163aec7e2b
[warnings] fix documentation command unknown 2024-09-12 21:21:41 +02:00
akallabeth afff514ca7
[compiler] add WINPR_ATTR_MALLOC
Add WINPR_ATTR_MALLOC checks to allocating functions to help compilers
find memory leaks or allocation mismatches
2024-09-12 20:09:22 +02:00
akallabeth fb5934007a
[doxygen] add basic documentation for new API
* Add basic documentation for new functions/structs/data types since
  3.0.0
2024-09-12 20:09:19 +02:00
akallabeth 98f22d49b9 [CMake] add public headers as INTERFACE target 2024-09-12 18:54:40 +02:00
akallabeth c84655cd62
[warnings] remove const params
Avoid const TYPE* const type declarations
2024-09-12 14:29:25 +02:00
akallabeth a1a1fc8658
[warnings] fix mismatches between declaration and implementation 2024-09-12 13:32:44 +02:00
akallabeth b29c141c39
[client,cmdline] fix COMMAND_LINE_ARGUMENT_A arguments
* The project expects COMMAND_LINE_ARGUMENT_A arguments, so fix
  COMMAND_LINE_ARGUMENT macro usage. (affects windows API)
2024-09-12 13:30:10 +02:00
akallabeth 7aa80cb751
[documentation] update
* Fix wrong tag @version, replace with @since
* Document some functions
2024-09-12 13:30:03 +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 f891bd3646
[docs] add doxygen comments for 3.0 API 2024-09-10 08:31:30 +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 1e1e9a445b
[utils,gfx] add rdpgfx_caps_version_str 2024-09-06 08:38:37 +02:00
akallabeth b26ab2f069
[client,common] extended parser 2024-09-06 08:23:06 +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 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 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
Armin Novak 96b945aa83
[settings] Added SurfaceCommandsSupported setting 2024-07-24 21:54:39 +02:00
Armin Novak d757dfee24
[server,shadow] Fix RFX SurfaceBitsCommands
* Use RLGR mode from settings (might be overwritten by client)
* Only send RFX SurfaceBits if SURFCMDS_STREAM_SURFACE_BITS was set in
  capabilities
2024-07-24 21:54:36 +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
Martin Fleisz c1d543685b
Merge pull request #10324 from hardening/ms_port
add Hebrew (Standard) keyboard layout ID (#3)
2024-07-01 16:14:24 +02:00
akallabeth 8f4d105f50
[server,proxy] remove unused section from config
Remote GFXSettings and Clipboard section as it was no longer used. This
is a non breaking change, existing entries will be ignored (just like up
until now) but the generated config now no longer contains it.
2024-07-01 11:40:10 +02:00
Hideyuki Nagase ac00064647 add Hebrew (Standard) keyboard layout ID (#3)
Co-authored-by: Hideyuki Nagase <hideyukn@ntdev.microsoft.com>
2024-07-01 09:43:46 +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 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 bcd663b7d9
Merge pull request #10269 from akallabeth/image_copy_sse
Image copy sse
2024-06-12 16:45:57 +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
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 f19098da83
[primitives,prim_add] add new add_16s_inplace 2024-06-08 08:34:11 +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 6ad17cac6e
[codec,progressive] restrict keyword 2024-06-03 17:55:35 +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 b672539365
[freerdp,codecs] remove malloc attribute from deprecated 2024-06-03 17:55:11 +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 b12e512e08
[codec,planar] restrict keyword 2024-06-03 17:54:29 +02:00
akallabeth 4899cf5c0f
[codec,yuv] use restrict keyword 2024-06-03 14:50:57 +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 ef4e6ee2c9
[common,settings] add GfxSuspendFrameAck 2024-05-24 11:51:56 +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 d545509f72
[settings] add TransportDumpReplayNodelay 2024-05-17 10:10:02 +02:00
akallabeth f1e0b5367f
[transport_io] fix declaration of freerdp_io_callback_set_event
the argument was badly named, as it is setting the event and not
resetting it.
2024-05-17 10:05:15 +02:00