Commit Graph

3079 Commits

Author SHA1 Message Date
akallabeth
5fa44d30be
[channels,remdesk] fix return value check 2025-01-12 15:12:02 +01:00
akallabeth
671c6d21ba
[channels,rdpei] fix sign conversion 2025-01-07 21:28:18 +01:00
akallabeth
5fb9f71b3b
[channels,rdpdr] fix int narrowing cast 2025-01-07 21:28:13 +01:00
akallabeth
3092313d49
[channes,rdpdr] use NTSTATUS for IoStatus
the IoStatus will hold NTSTATUS values but is defined unsigned in
[MS-RDPEFS] whereas NTSTATUS is defined as signed integer. Ignore the
spec here and just treat it as signed (eliminates warnings and twos
complement will ensure the values are equal in bit representation)
2025-01-07 10:11:21 +01:00
akallabeth
628995421d
[channels,urbdrc] fix undeclared variable 2024-12-30 18:41:11 +01:00
akallabeth
e90b4d5e98
[channels,rdpei] fix invalid mask 2024-12-30 08:02:43 +01:00
akallabeth
4030eafd15
[channels,rdpdr] fix stream_write sign 2024-12-29 10:23:23 +01:00
akallabeth
3539ef7409
Merge pull request #11000 from akallabeth/channels-implicit-fix
Channels implicit fix
2024-12-29 10:15:32 +01:00
akallabeth
168aae23be
[channels,gfxredir] clean up code 2024-12-26 13:35:50 +01:00
akallabeth
d14f8fe9dd
[channels,rdp2tcp] clean up code 2024-12-26 13:20:41 +01:00
akallabeth
69fb290616
[channels,sshagent] cleanup code 2024-12-26 12:35:11 +01:00
akallabeth
3a6cc64439
[channels,sshagent] enable client/server by default
channel is off by default, but if turned on enable client and server
components automatically
2024-12-26 10:31:01 +01:00
akallabeth
2b9471171b
[channels,gfxredir] use common channel variables 2024-12-26 10:08:37 +01:00
akallabeth
be3ba1c425
[warnings,channels] fix integer casts 2024-12-25 13:29:07 +01:00
akallabeth
57667dd955
[channels,printer] initialze variable 2024-12-20 10:48:49 +01:00
akallabeth
564724d56a
[locale,keyboard] fix conditionally uninitialized 2024-12-17 16:56:07 +01:00
akallabeth
ac9cf26bce
[cmake] fix define_channel_options
* fix usage of default value
* fix defaults of channels
* unify to single CMake function define_channel_options
2024-12-17 16:29:32 +01:00
akallabeth
91ae892f91
[winpr,sysinfo] fix use of GetComputerNameExA
The buffer must be large enough to hold MAX_COMPUTERNAME_LENGTH
characters, so the buffer needs to be of size MAX_COMPUTERNAME_LENGTH +
1 or larger to hold the '\0' terminated string.
2024-12-16 17:11:54 +01:00
akallabeth
e375556d07
[winpr,sysinfo] fix GetComputerNameA
* Trunctate to at most MAX_COMPUTERNAME_LENGTH characters
* Fix usage of function
2024-12-15 18:09:15 +01:00
akallabeth
344841714c
Merge pull request #10844 from akallabeth/cmake-mulitconfig
Cmake multiconfig
2024-12-07 17:43:05 +01:00
akallabeth
83f2f21ad3
[warnigns] fix lots of bugprone warnings
* update-settings-tests: properly cast types in getter/setter
* wtypes: fix PHANDLE definition
* wStream: fix INT64 write function warnings
* Simplify HANDLE copy in channels, just assign after proper cast
2024-12-06 09:15:48 +01:00
akallabeth
ba8fd2ada5
[cmake] force configuration options
limit multiconfiguration options to supported types
2024-12-05 09:36:23 +01:00
akallabeth
60dd32fbc7
[channels,rdpgfx] fix rdpgfx_server_packet_complete_header
a condition check was inverted preventing server side gfx packets to be
sent.
2024-12-03 17:11:37 +01:00
akallabeth
861e3bbe65
[channels,drive] allow operation on main thread 2024-12-03 09:58:09 +01:00
akallabeth
faae38120c
[cmake,format] reformat all cmake files 2024-11-27 20:41:48 +01:00
akallabeth
7aa233590b
[channels,tsmf] fix incompatible pointer types 2024-11-22 11:00:20 +01:00
akallabeth
f084389cd7
[channels,urbdrc] fix enum-enum conversion
* fix integer type of port, use uint8_t
* cast enum values to uint8_t (enum values are used as constants here
  and multiple different ones are mixed together which provokes this
  warning)
2024-11-22 11:00:08 +01:00
stephanebill
4f2afa8c47 spell check with codespell 2024-11-20 16:53:40 -05:00
akallabeth
541fc3a8c6
[channels,remdesk] fix const correctness of function 2024-11-14 13:26:19 +01:00
akallabeth
db07add07a
[deprecation] replace all usages of sprintf 2024-11-12 16:46:11 +01:00
akallabeth
0c35fd1a48
[channels,remdesk] create common components
Extract common functions from server and client channel and move it to a
static library linked by both
2024-11-11 12:23:52 +01:00
akallabeth
78acedb40e
[warnigns] fix Wshorten-64-to-32 2024-11-11 10:22:37 +01:00
akallabeth
cb73d77d6e
Merge pull request #10823 from akallabeth/rdpdr-caps-filter
[channels,rdpdr] send only used caps to server
2024-11-08 09:08:32 +01:00
Martin Fleisz
1520d94d33
Merge pull request #10797 from akallabeth/warn-fixes
Warn fixes
2024-11-07 13:50:51 +01:00
akallabeth
aa371dcdd6
[channels,rdpdr] only reply enabled caps 2024-11-05 19:56:28 +01:00
akallabeth
c4412a92e2
[channels,rdpdr] send only used caps to server
* When using RDPDR only send capabilities to server we have activated,
  e.g. smartcard, drive, printer, port (serial or parallel) redirection
* Check return value of write functions
2024-11-05 19:44:03 +01:00
akallabeth
4ec28e1f82
[warnings] fix -Wimplicit-int-conversion 2024-10-31 11:42:29 +01:00
akallabeth
dcf5a8e28c
[warnings] fix -Wswitch-default 2024-10-31 11:42:24 +01:00
akallabeth
dc76879e0b
[warnings] fix some compiler warnings
* fix compiler warnings found in a lot of places
* add missing enum type for clipboard channel
* mark deallocator for winpr image function
2024-10-30 16:12:20 +01:00
akallabeth
9db7deb30b
[warnings] initialize ULARGE_INTEGER 2024-10-30 10:20:41 +01:00
akallabeth
566d4cf637
[stream] fix sign issues with stream API use 2024-10-29 15:50:07 +01:00
Armin Novak
527db6783b
[cmake] split tests
* Keep BUILD_TESTING, but only run tests compatible with API (for
  packaging)
* Add BUILD_TESTING_INTERNAL for all tests including internal function
  tests that modify API to be run on our CI
2024-10-24 09:45:44 +02:00
akallabeth
2329cb23ae
[channels,rdpgfx] reset pointer to local variable 2024-10-22 16:19:47 +02:00
akallabeth
4b850f765f
[channels,rdpecam] fix format string 2024-10-22 16:02:41 +02:00
akallabeth
6ac2a961b6
[channels,audin] fix variable shadowing 2024-10-22 10:11:41 +02:00
akallabeth
efffcee119
[channels,rdpecam] fix casts 2024-10-22 09:50:34 +02:00
akallabeth
8b3f807a0a
[warnings] fix format warnings 2024-10-17 20:47:29 +02:00
oleg0421
f0922350ee RDPECAM client MJPEG decoder fix to skip corrupted frames 2024-10-10 18:05:22 -07:00
oleg0421
4797609b80 [channel,rdpecam] MJPEG input format support 2024-10-05 17:32:43 -07:00
akallabeth
cf46f341f6
[channels,audin] fix alsa backend
* Fix wrong variable passed to receive
* Improve logging/error handling
2024-10-04 16:11:53 +02:00
akallabeth
f4cac29f3c
[channels,audin] fix string to int conversion
use strtoul for unsigned values
2024-10-04 12:05:10 +02:00
akallabeth
6c8c67b385
Merge pull request #10677 from akallabeth/int-narrow
Int narrow
2024-10-03 21:17:56 +02:00
akallabeth
911ed13efc
[channels,rdpei] fix integer narrow 2024-10-03 18:59:05 +02:00
Martin Fleisz
966ddd13df
Merge pull request #10694 from akallabeth/qa-fixes
Qa fixes
2024-10-03 13:09:06 +02:00
akallabeth
cfc37caeb8
[cmake] cleaning_configure_file
add a wrapper to automatically add generated files to clean target
2024-10-02 23:28:08 +02:00
akallabeth
032b34702d
[channels,urbdrc] fix sign warnings 2024-10-01 13:05:50 +02:00
akallabeth
a57263c209
[channels,rdpecam] refactor cam_v4l_get_fourcc_str 2024-10-01 13:05:46 +02:00
akallabeth
04a8bcd8a5
[channels,cliprdr] make global strings arrays 2024-10-01 13:05:43 +02:00
akallabeth
fe8555a4fd
[warnings] annotate cert-err34-c 2024-10-01 13:05:36 +02:00
akallabeth
ee81bb017b
[warnings] fix assign enum
* add missing value for rdpecam
* use an integer for a badly designed API
2024-10-01 13:05:30 +02:00
akallabeth
72350e2587
[channels,cliprdr] log clipboard format requested 2024-10-01 13:05:27 +02:00
akallabeth
574742bae8
[warnings] annotate readability-non-const-parameter 2024-10-01 13:05:19 +02:00
akallabeth
9eeeef6976
[channels,rdpecam] fix redundant-control-flow 2024-10-01 13:05:07 +02:00
akallabeth
1c12a15de1
[channels,rdpecam] fix iterator types 2024-10-01 13:05:00 +02:00
akallabeth
485ebe03bf
[*printf] cast return to void 2024-10-01 13:04:57 +02:00
akallabeth
7cd4884de1
[channels,rdpecam] remove invalid doxygen 2024-10-01 13:04:49 +02:00
akallabeth
cf7fd2d340
[channels,rdpecam] fix widening of multiplication result 2024-10-01 13:04:45 +02:00
akallabeth
490ca0453b
[winpr,stream] use Stream_BufferAs instead of casting 2024-10-01 10:34:42 +02:00
akallabeth
11b7633dc0
[channels] use Stream_BufferAs
For WTSVirtualChannelRead and WTSVirtualChannelWrite use Stream_BufferAs
to cast to correct type.
2024-10-01 10:28:13 +02:00
akallabeth
55177e0e46
[channels,rdpsnd] remove dead code 2024-10-01 10:18:48 +02:00
akallabeth
8ddb678639
[channels,cliprdr] fix server side send routine 2024-10-01 10:16:18 +02:00
akallabeth
47c5070805
Merge pull request #10635 from akallabeth/initialize-variables
Initialize variables
2024-09-30 16:04:20 +02:00
David Fort
b891228279
Merge pull request #10693 from akallabeth/abi-fixes
[channels,rdpear] default to OFF
2024-09-30 10:20:19 +02:00
akallabeth
2973ff7004
[channels,rdpear] default to OFF
Since the channel was introduced late in the 3.x series require users to
explicitly enable it to not break existing build setups.
2024-09-30 09:42:45 +02:00
akallabeth
f529345d84 [warnings] fix Wcast-qual 2024-09-30 09:31:36 +02:00
akallabeth
3e7a7fdcad
[channels,rdpei] implement channel without thread
* implement channel without thread (compile time option)
* use dynamic logger
* add some missing parameter and stream checks
2024-09-27 09:32:22 +02:00
akallabeth
26003e59cc
[va_list] initialize with ={0}; 2024-09-24 11:06:18 +02:00
akallabeth
4b60f0651c
[channels] Fix PulseAudio assertions/NULL checks 2024-09-23 12:01:13 +02:00
akallabeth
ae3330d63d
[codec,dsp] reorganize experimental codecs
* Remove ALAW/µULAW from sound channels
* Make everything except PCM and AAC experimental
2024-09-23 12:01:11 +02:00
akallabeth
586f40631f
[warnings] fix shorten-64-to-32 2024-09-17 16:13:48 +02:00
akallabeth
618e02a65e
[cmake] fix SWScale library variable name 2024-09-17 12:57:43 +02:00
David Fort
8cc9e5f4e9 rails: add missing functions client implementation
The client side callbacks for textScale and CaretBlinkRate were not implemented.
2024-09-16 18:55:25 +02:00
akallabeth
f2e90eca34
[windows,32bit] fix VCAPITYPE consistency
Fixes #10581
2024-09-16 14:15:59 +02:00
akallabeth
befa4233ad
[warnings] fixed bugprone-not-null-terminated-result 2024-09-16 08:22:42 +02:00
akallabeth
a19305569d
[assert] fix ULONG_MAX use
most of the time this was used to check ULONG limits. Replace with
correct UINT32_MAX
2024-09-16 08:22:40 +02:00
akallabeth
bb242b9a89
[return checks] fix use of WaitForSingleObject 2024-09-16 08:22:37 +02:00
akallabeth
965d231e49
[return checks] fix use of CloseHandle 2024-09-16 08:22:31 +02:00
akallabeth
cd18dea174
[return checks] fix use of unicode functions 2024-09-16 06:48:26 +02:00
akallabeth
4d2197eab0
[return checks] fix use of TerminateThread 2024-09-16 06:48:11 +02:00
akallabeth
94020c183c
[return checks] fix use of ResetEvent 2024-09-16 06:48:09 +02:00
akallabeth
7c8c14294f
[return checks] fix use of ReleaseMutex 2024-09-16 06:48:06 +02:00
akallabeth
7d67b8e204
[return checks] fix use of SetEvent 2024-09-16 06:47:58 +02:00
akallabeth
a4a7019f97
[channels,rdpdr] fix uninitialized warnings 2024-09-15 09:58:41 +02:00
akallabeth
687f946999
[channels,rdpear] fix length checks for 32bit size_t 2024-09-15 09:07:53 +02:00
akallabeth
8b6091a007
[winpr,wtsapi] improve API usage
* Mark WTSVirtualChannelOpen and WTSVirtualChannelOpenEx with
  WINPR_ATTR_MALLOC to enforce compiler checks for resource cleanup
* Fix unused result warnings, use the result or cast to (void) where not
  requierd
2024-09-14 21:29:31 +02:00
akallabeth
2bcf2c50eb
[channels,rdpear] fix krb5 inclusion
* do not expose the krb5 include path in interface library, it is
  private to the object library
* fix include krb5.h instead of krb5/krb5.h
2024-09-14 21:29:18 +02:00
akallabeth
0b9d35235b
[channels,rdpear] fix leak in rdpear_prepare_response 2024-09-14 08:31:29 +02:00
akallabeth
d5b41bb8a0
[warnings] fix casts
* Add macro WINPR_REINTERPRET_CAST to cast (checked) from type A to B
* Fix cast warnings
2024-09-14 08:24:51 +02:00
akallabeth
f0a73e3e9c
[channels,rdpear] fix inconsistencies in ndr.c/h 2024-09-14 08:24:38 +02:00
akallabeth
1c161b0270
[channels,rdpear] elimiate warnings 2024-09-14 08:24:35 +02:00
akallabeth
71080e61b0
[warnings] fix a bunch of them
* fix uninitialized variable warnings
 * modivy ndr_context_* functions to utilize WINPR_ATTR_MALLOC
 * build_krbtgt use winpr_asprintf
 * add proper Stream_Write_UINT64_BE
2024-09-14 08:24:28 +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
7ebefc505f
[warnings] fix some msbuild warnings 2024-09-12 13:32:41 +02:00
akallabeth
c9b0c9ecd5
[warnings] remove unused variables 2024-09-12 10:08:10 +02:00
akallabeth
cc6850bf21
[warnings] fix format nonliteral
add pragma to suppress format nonliteral warnings where appropriate
2024-09-12 09:08:53 +02:00
akallabeth
31ef07ead7
[warnings] fix tautological unsigned zero compare 2024-09-11 20:50:30 +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
674e84cbf3
[channels,location] fix cast warning 2024-09-10 14:43:08 +02:00
akallabeth
52ee2e4668
[cmake] unify ffmpeg and swscale detection 2024-09-09 12:20:17 +02:00
akallabeth
6a64fe121b
Merge pull request #10569 from akallabeth/fprintf-void
Fprintf void
2024-09-06 10:44:32 +02:00
akallabeth
db8e340604
[rdpgfx,client] debug caps version as string 2024-09-06 09:35:23 +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
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
ff62730419
[channels] fix function pointer casts
* Cast freerdp_load_channel_addin_entry return with a union (removes the
  incompatible function pointer cast warnings)
* Typedef function pointers in tables.h
2024-09-04 09:12:41 +02:00
akallabeth
fe6d861a5c
[channels] fix VCAPITYPE for all channel entry points 2024-09-03 17:26:58 +02:00
akallabeth
491c884c7a
[cmake] remove casts from tables.c 2024-09-03 15:15:08 +02:00
akallabeth
b77d6e8550
[channels] fix function pointer casts
* Cast freerdp_load_channel_addin_entry return with a union (removes the
  incompatible function pointer cast warnings)
* Typedef function pointers in tables.h
2024-09-03 15:13:58 +02:00
akallabeth
baa70d1ab6
[warnings] fix compare integers of different signs 2024-09-03 15:10:46 +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
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
ec73265268
[channels,rail] fix unused variable warnings 2024-08-29 17:13:57 +02:00
akallabeth
bd637c6cd1
[warnings] fix various clang-tidy warnings 2024-08-29 17:13:50 +02:00
akallabeth
cc626276d0
[warnings] integer cast and checks 2024-08-29 15:49:33 +02:00
akallabeth
47e40dd7a5
[warnings] fix clang-tidy issues in channels 2024-08-29 15:34:25 +02:00
akallabeth
9c9d74e920
[warnings] fix redundant casts 2024-08-29 12:03:09 +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
1d33095500
[warnings] fix cert-err33-c
Fix unused return values, cast to void if on purpose
2024-08-29 10:19:27 +02:00
Armin Novak
7aae7896ae
[channels,rail] fix use after free 2024-08-27 09:08:15 +02:00
akallabeth
7f13d1993d
[channels,rail] simplify sending
* Fix #5347: Do not create useless copy of data to send.
2024-08-26 14:14:47 +02:00
akallabeth
00eb86970d
Merge pull request #10510 from akallabeth/serial-cleanup
Serial cleanup
2024-08-26 13:47:10 +02:00
akallabeth
7054b26916
[channels,parallel] compilation checks
* Only compile channel related command line if enabled
* Warn on unsupported platforms
2024-08-26 13:30:30 +02:00
akallabeth
387dabc4dd
[channels,serial] add CMake messages
Inform user about platforms that do not support serial redirection
2024-08-26 13:26:15 +02:00
akallabeth
1ec18ce827
[channels,serial] default to off on APPLE 2024-08-26 13:23:09 +02:00
akallabeth
d08e44d883
[channels,serial] only build on linux
* Guard by CMake
* Remove code #ifdef to ease porting
2024-08-26 13:18:52 +02:00
akallabeth
eb7d8fdeb0
[channels,serial] improve command line parsing
* Gracefully exit on invalid serial driver
* Gracefully exit on onvalid serial port flags
2024-08-26 12:37:03 +02:00
akallabeth
0b21fddef6
[channels,serial] improve IRP processing logging 2024-08-26 12:37:01 +02:00
akallabeth
df04e4c888
[channels,parallel] unify IRP processing logging 2024-08-26 12:36:58 +02:00
akallabeth
1ca069c771
[channels,serial] fix IrpThread handling
* Proper terminated threads cleanup
* Proper remaining threads termination on close
2024-08-26 12:35:54 +02:00
akallabeth
348ddf61c0
[channels,serial] delay IRP thread start
wait until irp_thread_func has completed before starting the thread.
This prevents a race condition when accessing the IRP structure which is
freed up once the thread terminates.
2024-08-26 12:35:51 +02:00
akallabeth
652c5310f2
[channel,serial] cleanup code
* WINPR_ASSERT arugments
* remove use of restricted keywords (variables/functions starting with _)
* Better logging and error checks
2024-08-26 12:23:04 +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
86e2789d9b
[coverity] fix warnings 2024-08-26 09:19:06 +02:00
Armin Novak
17d44e847f
[coverity] fix various warnings 2024-08-21 09:47:34 +02:00
Armin Novak
fe76bafd57 [channels,drive] fix out of bound access 2024-08-21 09:20:25 +02:00
akallabeth
1e19ccd76d
[channels,cliprdr] refactor cliprdr_packet_format_list_new
* Simplify function
* Add missing arguments for ASCII names
2024-08-14 09:19:51 +02:00
David Fort
6e2cc358ba cliprdr: fix message of error code log 2024-08-13 15:08:30 +02:00