Commit Graph

109 Commits

Author SHA1 Message Date
akallabeth
8cc6582044
Unify struct definitions (#7633)
* Unified enum/struct definitions, fixed include issues

* Fixed mac compilation issues

* Added missing include

* Fixed windows server build warnings

* Fixed VS2010 build issue

* Removed unnecessary library linking

* Fixed ThreadPool WinXP compatibility

* Fixed pr review remarks
2022-02-14 14:59:22 +01:00
akallabeth
b4d28ab569 Fixed file name pattern checks in freerdp_channels_list_dynamic_addins
Reported by George Zaytsev from Positive Technologies
2022-01-11 14:32:18 +01:00
Armin Novak
95ecc6929a Refactored channel error handling
* Fix WINPR_ASSERT if a client can not allocate new resources,
  terminated cleanly instead.
* Add WINPR_ASSERT for lots of channel arguments
2021-09-09 08:53:20 +02:00
Armin Novak
cde002f460 Cleaned up cliprdr 2021-09-09 08:53:20 +02:00
Armin Novak
5afa592244 Fixed cast-qual warnings 2021-08-24 11:10:51 +02:00
Armin Novak
610396e197 Fixed compilation warnings
Try to get the number of warnings down
2021-08-02 10:28:06 +02:00
Armin Novak
f03b074b01 Fixed warnings with missing prototypes 2021-06-18 11:32:16 +02:00
akallabeth
8d82adb28a Fixed warnings 2021-06-17 10:35:22 +02:00
akallabeth
ab49694101 Added new RDP file options 2021-05-11 07:59:05 +02:00
sss
6b76ac9545 Revert "Revert "allow to use in single threaded mode" (#6864)"
This reverts commit f7465af44f.
2021-03-26 11:50:45 +01:00
akallabeth
f7465af44f
Revert "allow to use in single threaded mode" (#6864)
This reverts commit bee2e1526d.
2021-03-05 13:02:38 +01:00
Gluzskiy Alexandr
bee2e1526d allow to use in single threaded mode
(some client side channels and all server side channels still need to be
ported to new api)

server: build fix, do not disable threads for rfx encoder

cliprdr client channel: implemented support for DisableThreads option
looks like thread does not make sense at all for this channel

do not initialize disabled image codecs (respect settings)

channels: client: rail: added support for DisableThreads setting

changed "BOOL DisableThreads" to "UINT32 ThreadingFlags"
dropped unnecessary apu changes

draft implementation of threading settings aware message handling api
for addins/channels

rail: use new messaging api

fixed memory leak

msgs handlers external api changes (as requested)

msgs_handlers: init fix

fixed memory leak

logic fix

resolved problems appeared after rebase to master, dropped unnecessary
changes

git clang-format origin/master

fixed TestFreeRDPCodecRemoteFX.c

"formatting, run `clang-format` please"

properly use new "rfx_context_new(BOOL, UINT32)" everywhere

passed Threading Flags to "rfx_context_new" where available

in older C standarts veriables declaration must be done before any code

requested changes

clang-format as requested

use broken signatures of standert C functions for m$ s**tos

clang-format

requested changes

requested changes

moved ThreadingFlags to stable api zone

define type for channel msg handler

typo fix

clang-format

build fix

us ThreadingFlags from server settings

git clang-format origin/master

clang-format
2021-02-25 14:05:40 +01:00
akallabeth
42d40261c5 Fixed return type for subsystem entry 2020-04-10 14:11:15 +02:00
Armin Novak
4eb4f58fbb Updated CMake channel detection
* Now both, dynamic and static channel entries can be defined by
  a single channel.
* Added better logging to distinguish between static and dynamic
  channel messages.
2020-02-28 12:53:39 +01:00
Martin Fleisz
da354feed0 Add dynamic channel part for rdpsnd channel 2020-02-28 12:53:39 +01:00
Armin Novak
7c243da6e1 Remove symbols exported by accident. 2019-12-02 10:57:31 +01:00
Armin Novak
b3630d12e5 Fixed #5713: Use proper types to generate tables.c where possible.
Use the correct type for function arguments of DVCPluginEntry type
and void* for type DeviceServiceEntry when generating tables.c
2019-11-14 11:42:50 +01:00
Armin Novak
153639624b Fixed NULL checks for strnlen calls, limit static channel name length.
As reported by @metametaclass in #5687 check the strings for NULL before
using strnlen. Also extend the same checks to static channel loading.
2019-11-07 10:53:55 +01:00
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Armin Novak
f01e042211 Code cleanups (strlen, casts, size_t, ...) 2019-10-29 11:58:43 +01:00
Armin Novak
2670d83cdd freerdp_channels_load_static_addin_entry pszSubsystem empty string returns the default backend. 2019-09-04 17:15:51 +02:00
Armin Novak
ea421ed52e Fixed index data type 2019-05-08 15:12:40 +02:00
Armin Novak
52b03cd408 Addin function pointers now expect const strings 2019-04-05 09:13:24 +02:00
Armin Novak
5bc3993e3f Fixed buffer size and function name 2018-08-27 14:34:42 +02:00
Armin Novak
114abad767 Removed use of strcpy. 2018-08-27 14:34:09 +02:00
Ondrej Holy
7b740f152f channels/addin: Fix leak found by covscan
leaked_handle: Handle variable "hFind" going out of scope leaks the handle.
2018-08-22 13:35:43 +02:00
Armin Novak
0490aeb018 Fixed clang malloc integer overflow warnings. 2017-07-20 09:29:48 +02:00
Armin Novak
c0c4358cd0 Added function pointer casts. 2017-04-10 13:06:05 +02:00
Armin Novak
9713b63c26 Fixed addin tables and casts. 2017-04-10 10:38:57 +02:00
Armin Novak
b2c29158be Scanbuild warning, argument checks and leak fixes.
* Added Stream_GetRemainingCapacity to check remaining stream size
  before writes.
* Fixed shadow server memory leak.
* Fixed lots of scanbuild warnings
* Added missing argument checks in many functions
* Added missing static function declarations
2017-03-02 18:13:43 +01:00
Bernhard Miklautz
c97056e3a8 Fix compiler warning
FreeRDP/client/common/client.c: In function ‘freerdp_client_context_new’:
FreeRDP/client/common/client.c:86:38: warning: passing argument 1 of ‘freerdp_register_addin_provider’ from incompatible pointer type
  if (freerdp_register_addin_provider(freerdp_channels_load_static_addin_entry,
FreeRDP/include/freerdp/addin.h:60:17: note: expected ‘FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN’ but argument is of type ‘void * (*)(const CHAR *, CHAR *, CHAR *, DWORD)’
 FREERDP_API int freerdp_register_addin_provider(
In file included from FreeRDP/client/common/compatibility.c:27:0:
FreeRDP/include/freerdp/addin.h:60:17: note: expected ‘FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN’ but argument is of type ‘void * (*)(const CHAR *, CHAR *, CHAR *, DWORD)’
 FREERDP_API int freerdp_register_addin_provider(

gcc (Debian 4.9.2-10) 4.9.2
2016-12-01 15:36:49 +01:00
Marc-André Moreau
36db0cc325 channels: properly handle VirtualChannelEntryEx in static virtual channel loading 2016-11-16 09:52:24 -05:00
Bernhard Miklautz
d73c4898c1 Add build-config.h
build-config.h should contain configure/compile time settings that are
relevant for projects that use FreeRDP.

For example the compiled in plugin search paths.
2015-11-09 15:54:22 +01:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Martin Haimberger
2b3b999929 changed returnvalues of DeviceServiceEntry to WIN32ERROR 2015-06-18 03:04:32 -07:00
Martin Haimberger
d33e8a15b5 hardend client addin 2015-06-18 03:04:31 -07:00
Bernhard Miklautz
1b663ceffe build: cmake 3.1 compatibility
* fix problem with REMOVE_DUPLICATES on undefined lists
* since 3.1 file(GLOB FILEPATHS RELATIVE .. returns single / instead of // as
  previously - necessary adoptions for regex and matches done. Should
	work with all cmake versions.

Tested with 3.1.0-rc3
2014-12-12 19:26:22 +01:00
Armin Novak
2bf2406325 Addind platform specific library prefix when trying to load channel libraries. 2014-09-17 11:27:11 +02:00
Bernhard Miklautz
0313ca3622 libfreerdp: always build "MONOLITHIC"
"libfreerdp" consisted of multiple (small) single libraries. If the cmake
option MONOLITHIC was used only one library was build combining all of
the libfreerdp-* libraries.
The only exceptions to this are libfreerdp-server and libfreerdp-client these
are build as separate libraries.

This commit obsoltes non-monolithic builds and makes monolithic builds
the default. The cmake option MONOLITHIC is also removed.
2014-09-12 00:19:53 +02:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Zhang Zhaolong
0d86ee942f wfreerdp: fix export names. 2014-03-04 13:54:26 +08:00
Marc-André Moreau
00ace94b94 libfreerdp-channels: start consolidating channels client code with core 2014-02-10 23:13:29 -05:00
Marc-André Moreau
5ff847a6e6 wfreerdp: fix multiple warnings 2014-02-10 01:06:11 -05:00
Armin Novak
f3bfef8da5 Resource cleanup fixes. 2013-11-08 10:27:16 +01:00
Marc-André Moreau
5406ebd5d8 channels/drive: refactoring 2013-11-03 19:10:33 -05:00
Marc-André Moreau
3caff4e460 libfreerdp-core: prevent multi-session crashes on Mac OS X 2013-11-01 20:23:56 -04:00
Marc-André Moreau
3880640132 libfreerdp-client: add channel event handlers for static virtual channels 2013-10-14 21:14:05 -04:00
Marc-André Moreau
336e47e82f Merge pull request #1460 from akallabeth/thread_handle_fixes
Thread handle fixes
2013-09-16 13:40:32 -07:00
Armin Novak
81a5e727d6 Added proper thread sync for input thread.
Channels thread now listening to message pipe quit signal posted
when shutting down the channel.
2013-09-06 09:02:46 +02:00
Armin Novak
82f0efd6e6 Fixed coverity issue 1047635 2013-09-05 12:14:31 +02:00