Commit Graph

138 Commits

Author SHA1 Message Date
Armin Novak
9f19da798c Added attach/detach support for channels. 2016-12-19 17:07:01 +01:00
Norbert Federa
f71b6b46e8 fix string format specifiers
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Norbert Federa
c6e6b44143 countless WLog/printf format specifier fixes 2016-11-25 17:06:25 +01:00
Martin Haimberger
7fe28a8a78 virtualChannel: removed static variable usage from
VirtualChannelApi
2016-11-23 04:17:56 -08:00
Martin Haimberger
5c4fb88a58 rail: using new VirtualChannelEx api 2016-11-23 01:24:57 -08:00
Marc-André Moreau
dee76617d9 channels: remove thread-local storage usage 2016-11-15 11:41:01 -05:00
Marc-André Moreau
70c4646722 channels: restore global tables for initHandle, openHandle mappings instead of thread local storage 2016-11-14 15:23:05 -05:00
Armin Novak
9f5da483dc Reformatted files touched in last 2 commits. 2016-10-06 13:43:12 +02:00
Armin Novak
64590e7e89 Set pEntryPointsEx->ppInterface NULL on error. 2016-10-06 13:43:12 +02:00
Armin Novak
88a3b8dd76 Initializing channel context in each thread. 2016-10-06 13:43:12 +02:00
Armin Novak
dadc5262ae Removed static channel variables.
Global static variables do not work, if more than one instance
of an RDP client is running in the same process space.
Removed the varaibles where possible and replaced them with
thread local storage where necessary.
2016-10-06 13:43:09 +02:00
Armin Novak
2dbc1a0b87 Reverted WTS API changes. 2016-03-14 13:19:08 +01:00
Armin Novak
36cbf1b583 Fixed error handling for channel load failures. 2016-03-14 13:13:43 +01:00
Bernhard Miklautz
6fa3608111 cleanup cmake exports and pkg-config files
With this commit the "exported" components (usable with pkg-config and
cmake find module package)
* winpr - winpr library and headers
* freerdp - core library and headers
* freerdp-client - client specific library
* freerdp-server - server specific library
* rdtk - rdtk headers and library

To allow the installation of multiple different version (different major
number) the include files were moved into the respective sub folder:
freerdp -> freerdp{MAJOR}/freerdp (currently freerdp2/freerdp/)
winpr -> winpr{MAJOR}/winpr (currently winrp1/winpr/)
rdtk -> rdpk{MAJOR}/rdtk (currently rdtk0/rdtk/

The generated pkg-config and cmake find modules now also include the major
version number. Currently the following pkg-config are generated and
installed.
* winpr1
* freerdp2
* freerdp-server2
* freerdp-client2
* rdtk0

As cmake is able to handle multiple versions out of the box the
following can be used to find a specific module:

find_package(WinPR)
find_package(FreeRDP)
find_package(FreeRDP-Server)
find_package(FreeRDP-Client)
find_package(RdTk)

As cmake doesn't automatically resolve dependencies for packages it is
necessary to manually include the requirements. For example if
FreeRDP-Client is required WinPR and FreeRDP need to be included
(find_package) as well.

This commit also fixes the installation when STATIC_CHANNELS are built.
WITH STATIC_CHANNELS all channels are linked into libfreerdp-client, for
this all channels are generated as linker archive and linked together in
the final step. Before the intermediate linker archives were, although
not required and useful, installed. Same applies for server side
channels.
2016-01-12 17:32:33 +01:00
Armin Novak
cb958ba9c6 Added pdb files to package target.
Fixed name collision with freerdp-shadow targets.
2015-12-15 12:07:21 +01:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Martin Haimberger
65fd259610 misc fixes:
fixed all bugs from the review
checking all WaitFor*Object/s calls
2015-07-30 06:49:21 -07:00
Martin Haimberger
b8c110d19b introduced channel error reporting system
The rdpContext gets an event which will
get set if an error occoured in a channel.

If a thread or a void callback has to report an
error it will get signaled by this system.
2015-07-15 00:50:35 -07:00
Martin Haimberger
6e4e1c2773 Merge remote-tracking branch 'upstream/master' into mh-stream-fix
Conflicts:
	client/Windows/wf_cliprdr.c
2015-06-18 03:06:40 -07:00
Martin Haimberger
d7636d0e28 channel rail hardend 2015-06-18 03:04:32 -07:00
David FORT
12f873f1f9 Fixed MessageQueue and callers 2015-05-29 14:24:14 +02:00
David FORT
6fb3f390a0 Fixed functions that return BOOLs 2015-05-19 13:48:57 +02:00
Hardening
f8120919af Add checks for some XXX_New and XXX_Add functions
Based on PR #2616
2015-05-18 11:28:00 +02:00
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Zhang Zhaolong
e675a41705 rail: fix incorrect usage of realloc.
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 11:17:52 +08:00
Armin Novak
cadd2675f6 Fixed variable initialisation and cleanup. 2015-01-20 12:31:30 +01:00
Armin Novak
bbacca6db2 Added CHANNEL_EVENT_DISCONNECTED handling.
Additional error checks and logging.
2015-01-20 11:55:50 +01:00
Marc-André Moreau
27a8e50e60 channels: fix drdynvc, patch memory leaks 2014-12-27 15:20:29 -05:00
Marc-André Moreau
f7e52c5e09 channels/rail: remove dependency on svc_plugin.c 2014-11-12 10:43:02 -05:00
Marc-André Moreau
589c21d819 libfreerdp-utils: remove rail utils 2014-11-12 10:18:53 -05:00
Marc-André Moreau
68c9e68400 channels/rail: remove dependency on deprecated eventing system 2014-11-12 09:46:04 -05:00
Marc-André Moreau
b2f7c488ab xfreerdp: cleanup and fix RemoteApp 2014-11-11 16:35:30 -05:00
Armin Novak
059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Armin Novak
b1e9ffb655 Using wlog for channel logging now.
Fixed compiler warnings and broken callback in urbdrc.
2014-09-15 08:48:46 +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
Armin Novak
66b8905ac6 Using special log defines for channels now. 2014-08-11 09:12:01 +02:00
Armin Novak
b252009d36 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:49 +02:00
Marc-André Moreau
53639dea0b channels: reduce dependency on svc_plugin.h 2014-06-11 15:09:28 -04:00
Armin Novak
15ce8c0552 Updated plugins to use new svc_plugin and OnDataReceived API. 2014-06-11 14:42:32 +02:00
Zhang Zhaolong
69296ce3bd wfreerdp: build fix. 2014-03-04 13:54:25 +08:00
Marc-André Moreau
82b922a70d channels: rename custom CHANNEL_ENTRY_POINTS_EX to CHANNEL_ENTRY_POINTS_FREERDP to fix conflict 2014-02-16 17:38:59 -05:00
Marc-André Moreau
5ff847a6e6 wfreerdp: fix multiple warnings 2014-02-10 01:06:11 -05:00
Marc-André Moreau
4d6f3b6de4 libfreerdp-client: fix bug in pInterface channel registration 2013-12-05 16:55:28 -05:00
Marc-André Moreau
37450da55d cmake: fix exporting of targets on pre-2.8.11 2013-10-29 14:47:40 -04:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Marc-André Moreau
3cd5652c7d libfreerdp-core: fix asynchronous queueing of RemoteApp messages 2013-10-22 16:28:23 -04:00
Marc-André Moreau
1a9f86738b channels/rail: improve callback interface 2013-10-20 21:59:03 -04:00
Marc-André Moreau
acc341e84f channels/rail: refactor 2013-10-16 15:32:33 -04:00
Marc-André Moreau
bf7d9ff219 channels/rail: refactoring 2013-10-16 14:58:45 -04:00
Marc-André Moreau
7be92579b2 channels/rail: start refactoring 2013-10-14 23:16:40 -04:00