Commit Graph

18468 Commits

Author SHA1 Message Date
akallabeth
f764b0a854 [channels,location] implement client channel
* provide client side callbacks to implement platform specific location
  backend glue code
2024-03-11 13:22:12 +01:00
akallabeth
2dd80b1e80 [utils] implement write 4byte types
* freerdp_write_four_byte_signed_integer
* freerdp_write_four_byte_float
2024-03-11 13:22:12 +01:00
akallabeth
1f22a4f954 [client,sdl] ignore blit that does not intersect
SdlWindow::blit might be called for areas that do not intersect the
surface. Return success in such cases to avoid terminating a session.
2024-03-11 12:32:35 +01:00
akallabeth
fd46a43934 [core,update] reset invalid regions after BeginPaint
Do not touch invalid regions before BeginPaint was called. This fixes
issue #9953 as the sdl client is waiting in BeginPaint for the screen
updates of EndPaint to be actually drawn.
2024-03-11 12:15:52 +01:00
David Fort
a4cc020b75 [win32,childsession] Fix invalid pipe path with 32 bits builds
When compiled as x86 (32 bits) the path returned by WinStationCreateChildSessionTransport
is sometime missing the beginning of the pipe path.
2024-03-11 11:24:24 +01:00
akallabeth
4732f379d4 [winpr,sysinfo] unify time function use
* Add new function winpr_GetTickCount64NS for high resolution tick
  count with (up to) nanosecond resolution
* Add new function winpr_GetUnixTimeNS for high resolution system time
  as nanoseconds since 1.1.1970
* Replace use of clock_gettime and gettimeofday in whole project with
  these new functions
* Add new macros WINPR_TIME_NS_TO_* and WINPR_TIME_NS_REM_* to convert
  the nano second count to less resolution or get the remainder in the
  desired resolution
2024-03-11 09:54:10 +01:00
David Fort
b5713c46a7 [win32] various fix for childSession
WAIT_TIMEOUT was not correctly handled in non blocking mode. Also there was a
segfault when freeing the transport (double free).
2024-03-09 11:29:08 +01:00
akallabeth
378c9f8b98 [ci,tidy] allow integer bool conditions
We heavily rely on our custom BOOL type which is a typedef to int32_t.
Consider this a valid bool condition for
readability-implicit-bool-conversion
2024-03-09 09:47:17 +01:00
akallabeth
37792c0a37 [ci,primitives] enable NEON on iOS builds
* Enable WITH_NEON=ON for iOS builds
* Fix a undeclared variable issue with NEON builds
2024-03-08 14:10:53 +01:00
akallabeth
e53dc3dabb [client,x11] fix X11 access during +auth-only
fixes #9946
2024-03-08 11:13:05 +01:00
akallabeth
ef8c9e48e8 [core,utils] unify channel reloading
Add the wrapper function utils_reload_channels that unifies the channel
cleanup and channel initialization sequence required on connect,
redirect and gateway policy apply
2024-03-07 16:18:41 +01:00
akallabeth
93eb4df524 [core,gateway] implement RDG and TSG policy
* use dynamic logger in RDG
* honor [MS-TSGU] 2.2.9.2.1.5.2 TSG_REDIRECTION_FLAGS
* honor [MS-TSGU] 2.2.10.16 HTTP_TUNNEL_AUTH_RESPONSE
  HTTP_TUNNEL_AUTH_RESPONSE_FIELD_REDIR_FLAGS flag
* add setting GatewayIgnoreRedirectionPolicy to ignore the gateway
  policy if desired
2024-03-07 16:18:41 +01:00
akallabeth
6a7c375831 [crypto,cert] add better logging of certificate read
add missing log entries for possible failures due to invalid data
received. This allows better debugging if a server sends garbage or the
crypto routines have direct RSA routine access disabled.
2024-03-07 14:59:32 +01:00
Vic Lee
33416fd3ac [channels,printer] support printer channel in synchronous mode. 2024-03-07 11:40:44 +01:00
akallabeth
938e1ca2f1 [server,shadow] initialize subsystem->format before use 2024-03-05 10:03:23 +01:00
akallabeth
9268cee35e [server,shadow] shadow_subsystem_pointer_convert_alpha_pointer_data
the function uses implicit color formats. Replace this with the function
shadow_subsystem_pointer_convert_alpha_pointer_data_to_format with
explicit source color format.
Deprecate the old function.
2024-03-05 10:03:23 +01:00
akallabeth
fe149f3f57 [server,shadow] deprecate shadow_capture_compare
the function uses implicit color format layout, so move to a version
with explicit format layout.
2024-03-05 10:03:23 +01:00
akallabeth
730d67c7e3 [server,shadow] add WINPR_RESTRICT to comparison
shadow_capture_compare_with_format and shadow_capture_compare always
operate on distinct memory areas. Allow better optimization of
operations with the WINPR_RESTRICT keyword
2024-03-05 10:03:23 +01:00
akallabeth
e4a0746cdc [server,shadow] detect changes no alpha
add shadow_capture_compare_with_format no alpha comparison option. If
not both, source and destination have alpha, just ignore it.
2024-03-05 10:03:23 +01:00
nin
dc4bd6609b [server,shadow] add image format support for capture
when capturing bitmap data take the source image format into account on
copy and compare.
2024-03-05 10:03:23 +01:00
akallabeth
4139e55a78 [build,mac] prefer self compiled dependencies
when building OpenSSL prefer dependencies from our self compiled
installation directory
2024-03-04 19:36:27 +01:00
ddoe
d590b67ac4 Prevent printer closing when a job is closed
It prevents future job to print
2024-03-04 14:38:37 +01:00
akallabeth
3b108f1839 [core,proxy] ignore empty variable
fixes #9928: ignore a defined but empty proxy environment variable
2024-03-04 14:28:38 +01:00
akallabeth
4b2e192869 [ci] update workflows
* disable codeql schdeuled job
* fix abi-checker scheduled job base reference
2024-03-04 14:27:45 +01:00
David Fort
aebe9742e0 [client,win32] Child session fixes
It seems like WaitFor[Single|Multiple]Object calls aren't reliable on pipes, especially
on the pipe opened for childSession access. The object can be marked as signaled even if
no data is available, making the connection laggy and unresponsive (nearly unusable in some
cases).
This patch works around that by using ReadFileEx() with overlapped instead of simple
ReadFile() and use asynchronous reads.
2024-03-01 09:46:53 +01:00
akallabeth
96c090f182 [ci,mingw] turn off shadow server 2024-02-27 17:39:49 +01:00
akallabeth
3474a21f99 [readme] use clang-tidy status badge from pull_request_target 2024-02-27 17:05:52 +01:00
akallabeth
cdd1be7e1d [ci,mingw] deactivate server builds
the shadow and platform server modules are not finished and use APIs
that mingw does not properly support
2024-02-27 17:05:52 +01:00
akallabeth
f2d7d38973 [ci,mingw] simplify openh264 build 2024-02-27 16:33:39 +01:00
akallabeth
573fdf0608 [ci,mingw] use posix toolchain
we require std::thread, std::mutex, ... which mingw does not provide
unless the -posix toolchain are used.
2024-02-27 16:14:33 +01:00
akallabeth
9e0c0fd5e1 [ci,abi] expose rdtk and uwac
we did not have them statically compilable with 3.0.0, so keep them
shared to make check-abi happy
2024-02-27 16:14:33 +01:00
akallabeth
6483ca29d2 [ci,mingw] add git, meson and cmake deps 2024-02-27 15:30:53 +01:00
akallabeth
7c320056b3 [ci,abi] add suppressions 2024-02-27 15:30:53 +01:00
akallabeth
721c1b9fcd add mingw badge 2024-02-27 14:46:35 +01:00
akallabeth
3086869bf2 [ci,mingw] add ninja to deps 2024-02-27 14:46:35 +01:00
akallabeth
d8c0e7546e [winpr,utils] allow quoted sub arguments
fixes #9890.
2024-02-27 14:15:56 +01:00
akallabeth
9a7d30d174 [clang,tidy] fix a few warnings 2024-02-27 14:15:43 +01:00
akallabeth
43a70ccb90 [client,sdl] use std::filesystem u8string() 2024-02-27 14:10:14 +01:00
akallabeth
c0e3a00502 [ci] add weekly workflow run and status badges 2024-02-27 14:10:14 +01:00
akallabeth
cc427103eb mingw builder workflow 2024-02-27 14:10:14 +01:00
akallabeth
b1cf556cb2 mingw build script 2024-02-27 14:10:14 +01:00
akallabeth
6b5ed8e36a [ci,abi] only check out pull request on trigger 2024-02-27 09:11:16 +01:00
akallabeth
c61fc2a0fa [server,shadow] improve shadow help and startup checks
a SAM file is required for the shadow server to work if NLA is
activated. Better document that and abort startup if no file is
available.
2024-02-26 20:59:39 +01:00
akallabeth
ff353d8f2f [ci,abi] fix checkout for pull_request_target 2024-02-26 20:53:26 +01:00
akallabeth
b791a74e07 [ci,api] fetch complete history 2024-02-26 20:53:26 +01:00
akallabeth
c125ebf8fc [ci,abi] fix workflow 2024-02-26 18:49:57 +01:00
akallabeth
c9f7b7d05c [ci,abi] simplify run 2024-02-26 14:39:15 +01:00
akallabeth
8345838bcc Update abi-checker.yml 2024-02-26 14:18:26 +01:00
akallabeth
fd77b7f044 [ci,abi] fix workflow 2024-02-26 13:32:47 +01:00
akallabeth
0ffe787d5f workflow abi-checker 2024-02-26 13:05:46 +01:00