Marc-André Moreau
fa06c4d401
libfreerdp-core: improve reconnection
2015-02-06 14:21:26 -05:00
Marc-André Moreau
82d58086db
xfreerdp: partial reconnect fixes
2015-02-05 17:01:56 -05:00
Norbert Federa
70c8acdd67
drdynvc: fix segfaults and a compiler warning
...
If we send a negative creation status while processing the DVC create
response pdu in drdynvc_process_create_request() we must also close
the created channel. Otherwise we will get duplicated channel IDs
in the channel manager's array list because the server will
eventually reuse the channel ids which we have reported as failed in
previous creation responses.
In order to protect the client from duplicated IDs sent by buggy or
malicious servers I've added an appropriate check in
dvcman_channel_new() which will now return NULL in this case.
Also added a missing NULL check for the result of dvcman_channel_new()
in dvcman_create_channel().
2015-01-26 19:26:38 +01:00
Armin Novak
2f57cca71c
Moved arraylist remove to dvcman_close_channel
...
This ensures, that the resources are also cleaned up if no channel
listener was registered.
2015-01-21 14:16:23 +01:00
Armin Novak
256c64fbed
Fixes cleanup when closing a dynamic channel.
...
The resource cleanup was executed twice for each dynamic channel.
Now cleaning up the resources by array list free callback and only
when closing the channel.
2015-01-21 12:58:18 +01:00
Armin Novak
4d08528f89
Fixed variable initialisation and cleanup.
2015-01-20 12:31:39 +01:00
Armin Novak
9e5ed07556
Added CHANNEL_EVENT_DISCONNECTED handling.
...
Additional error checks and logging.
2015-01-20 11:58:04 +01:00
Marc-André Moreau
5024c42b76
channels/drdynvc: properly handle DYNVC_OPEN/DYNVC_CLOSE requests
2014-12-28 11:13:51 -05:00
Marc-André Moreau
27a8e50e60
channels: fix drdynvc, patch memory leaks
2014-12-27 15:20:29 -05:00
Marc-André Moreau
6c2ebb2b58
channels: redirection valgrind fixes
2014-12-27 13:50:50 -05:00
erobertor
d647fd2f36
Update drdynvc_main.c
...
fixed memory leak
2014-12-15 18:36:56 +01:00
Armin Novak
b9908af64a
Fixed memory leaks.
2014-11-16 16:02:28 +01:00
Marc-André Moreau
986dae429b
freerdp: remove deprecated svc_plugin.c utils
2014-11-12 13:34:07 -05:00
Marc-André Moreau
0e7c95c421
freerdp: remove deprecated eventing system
2014-11-12 13:18:18 -05:00
Armin Novak
059374457d
Removed library prefix override.
2014-09-17 11:27:11 +02:00
Armin Novak
bfab9c056a
Decreased log level.
2014-09-16 09:43:56 +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
Vic Lee
551ee0566a
channels: fix memory leak in stream pools.
2014-08-28 23:16:32 +08: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
Vic Lee
29cb8680ce
server: allow partial channel read (fix rdpsnd).
2014-07-14 20:00:38 +08: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
Marc-André Moreau
5c5386fe04
channels/rdpgfx: add egfx command line options and settings
2014-07-03 14:35:03 -04:00
bjcollins
d2d04f764d
Find glibconfig.h cmake should use pkgconfig information instead of a hard coded path to /usr/lib.
...
the OnOpen callback should be called when set to avoid a segfault.
2014-06-27 14:46:27 -05:00
Marc-André Moreau
78d3c82798
xfreerdp: fix multiple egfx-related memory leaks
2014-06-20 13:52:13 -04:00
Marc-André Moreau
ce6ff35297
xfreerdp: fix egfx off-by-one errors
2014-06-19 17:08:50 -04:00
Marc-André Moreau
b782486e89
channels/drdynvc: cleanup
2014-06-17 13:34:23 -04:00
Marc-André Moreau
6f9a256c5c
Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
...
Conflicts:
channels/drdynvc/client/dvcman.c
client/X11/xf_client.c
include/freerdp/dvc.h
2014-06-12 12:03:08 -04:00
Marc-André Moreau
3d7524cac9
channels/drdynvc: add state machine, add workaround for missing capabilities pdu
2014-06-03 13:00:03 -04:00
Marc-André Moreau
8ea161de61
channels/drdynvc: add OnOpen callback
2014-06-03 09:49:00 -04:00
Armin Novak
4b0b94d04d
Updated copyright header.
...
Added error checks and assertions.
2014-05-26 09:01:52 +02:00
Armin Novak
3fde4f0bc2
Added callback dictionary with context to allow client to communicate with plugin.
2014-05-23 13:04:51 +02:00
Marc-André Moreau
769502ec72
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2014-04-26 13:47:01 -04:00
Marc-André Moreau
fb3f5e6bd2
libfreerdp-utils: purge deprecated list utils
2014-04-26 12:31:24 -04:00
Vic Lee
08b4976f72
Revert "channels: fix link errors."
...
This reverts commit 2fc7f9c485
.
2014-04-22 15:05:53 +08:00
Vic Lee
2fc7f9c485
channels: fix link errors.
2014-04-21 17:47:12 +08:00
Zhang Zhaolong
69296ce3bd
wfreerdp: build fix.
2014-03-04 13:54:25 +08:00
Marc-André Moreau
419e2936be
Merge branch 'master' of github.com:awakecoding/FreeRDP into channels
2014-02-27 15:09:06 -05:00
Marc-André Moreau
951368a1ce
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2014-02-27 13:58:29 -05:00
Marc-André Moreau
6e1cdf1b67
libfreerdp-core: expose opaque HANDLE instead of WTSVirtualChannelManager*
2014-02-27 13:30:04 -05:00
Marc-André Moreau
3e546a22a1
channels: start migrating existing server-side channels to WTSAPI
2014-02-16 22:07:00 -05: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
Zhang Zhaolong
1404532d70
drdynvc: fix free invalid pointer.
2014-02-11 17:39:03 +08:00
Marc-André Moreau
cdcd290c44
wfreerdp: fix most build warnings
2014-02-10 22:12:13 -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
990be143bb
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-09-16 17:11:21 -04:00
Bernhard Miklautz
7b2a372c76
drdynvc: fixed masked used in close request
2013-09-16 22:48:08 +02:00
Giacomo Rombaut
0729f3b780
Respond to DYNVC_CLOSE like described in MS-RDPEDYC
2013-09-13 15:22:10 +02:00
Marc-André Moreau
c878200e00
channels/server: refactor to match WTSApi + avoid conflicts
2013-08-20 19:26:36 -04:00
Marc-André Moreau
552cee7431
channels/server: start refactoring to fully match WTSApi
2013-08-20 18:06:19 -04:00
Marc-André Moreau
23a8354656
channels: rdpsnd refactoring, drdynvc initial server-side code
2013-08-18 21:52:55 -04:00
Daniel Bungert
475a44f0e2
Free incompletely initialized dvcs.
...
If dynamic channels are not completely initialized, the server will
reuse those channel numbers for new channels.
This causes interesting problems when the server asks for a channel
by number, as we can end up with multiple channels with the same number.
Log example of the problem:
DBG_DVC drdynvc_process_receive (341): Cmd=0x1
DBG_DVC drdynvc_process_create_request (249): ChannelId=0 ChannelName=PNPDR
DBG_DVC drdynvc_process_create_request (265): no listener
DBG_DVC drdynvc_process_receive (341): Cmd=0x1
DBG_DVC drdynvc_process_create_request (249): ChannelId=0 ChannelName=TSMF
DBG_DVC tsmf_on_new_channel_connection (378):
DBG_DVC dvcman_create_channel (415): listener TSMF created new channel 0
DBG_DVC drdynvc_process_create_request (260): channel created
DBG_DVC drdynvc_process_receive (341): Cmd=0x3
DBG_DVC drdynvc_process_data (311): ChannelId=0
Warning dvcman_receive_channel_data (517): ChannelId 0 not ready!
In this log, we received data intended for TSMF, but the channel lookup
found the incompletely initialized PNPDR.
2013-06-11 16:49:27 -04:00
Marc-André Moreau
8095bec3ec
channels/drdynvc: call OnChannelDisconnected
2013-05-20 15:23:54 -04:00
Marc-André Moreau
d96249e19f
libfreerdp-client: start propagating channels initialization to client
2013-05-13 17:39:53 -04:00
Marc-André Moreau
e72f898956
channels/drdynvc: refactor and start exporting interface
2013-05-13 16:07:42 -04:00
Marc-André Moreau
dc0aa4c72d
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-05-10 16:43:19 -04:00
Daryl Poe
089bfbea2c
handle drdynv version 3
2013-05-10 13:57:22 -06:00
Marc-André Moreau
fdf3ddcf9e
freerdp: purge deprecated stream utils
2013-05-08 17:48:30 -04:00
Marc-André Moreau
fd230443c5
freerdp: purge old stream utils
2013-05-08 16:27:21 -04:00
Marc-André Moreau
5b92413843
freerdp: purge deprecated stream utils
2013-05-08 16:09:16 -04:00
Marc-André Moreau
51715636a5
freerdp: remove some deprecated stream utils
2013-04-29 22:35:15 -04:00
Marc-André Moreau
d187becc28
freerdp: merge with master
2013-03-28 21:20:36 -04:00
Marc-André Moreau
3417a3aab5
freerdp: merge RDP_EVENT type with wMessage
2013-03-28 21:13:56 -04:00
Marc-André Moreau
f757623f7f
channels: replace event_type, event_class with id for events
2013-03-28 20:23:16 -04:00
Hardening
7701c9d934
Replace printf(...) by fprintf(stderr, ...)
2013-03-28 23:06:34 +01:00
Marc-André Moreau
8c8a82c31f
libfreerdp-utils: purge old STREAM utils
2013-03-21 16:45:25 -04:00
Marc-André Moreau
a8201b0d1b
libwinpr-utils: combine old and new stream utils
2013-03-21 15:19:33 -04:00
Marc-André Moreau
eea3414579
libfreerdp-utils: purge deprecated wait_obj utils
2012-11-26 20:15:48 -05:00
Marc-André Moreau
01158f9a34
libfreerdp-utils: purge deprecrated load_plugin utils from source tree
2012-11-21 21:28:48 -05:00
Marc-André Moreau
8a32de3801
libfreerdp: purged source tree from deprecated memory utils
2012-11-21 21:22:06 -05:00
Marc-André Moreau
2a16183f5d
libfreerdp-utils: remove deprecated calls to xnew() macro
2012-11-21 20:21:08 -05:00
Marc-André Moreau
ecddb58ba2
channels: cmake cleanup, USB redirection refactoring
2012-11-20 19:34:52 -05:00
Marc-André Moreau
2e1a7447a1
channels: refactoring of channel subsystems
2012-11-19 22:31:15 -05:00
Marc-André Moreau
4a472d5536
libfreerdp-common: added parsing of /vc and /dvc
2012-11-18 00:08:03 -05:00
Marc-André Moreau
925eb59bf1
libfreerdp-common: refactoring of addin loader
2012-11-17 22:03:04 -05:00
Marc-André Moreau
6882b1fa9d
mfreerdp-server: initial commit
2012-10-31 23:04:31 -04:00
Marc-André Moreau
5bebfc798d
cmake: add client/server channel options
2012-10-19 16:47:48 -04:00
Marc-André Moreau
b5989f7299
cmake: refactoring of channel options with macros
2012-10-19 15:27:55 -04:00
Marc-André Moreau
2f1711c506
libwinpr-path: make tests pass on Windows
2012-10-18 21:11:12 -04:00
Marc-André Moreau
81e485736f
channels: refactoring of channels cmake scripts with macros
2012-10-17 02:14:19 -04:00
Marc-André Moreau
0c1fd59d5f
cmake: fix client add library macro
2012-10-16 17:33:07 -04:00
Marc-André Moreau
d0314a569e
libfreerdp-channels: refactoring of cmake static entry table generation
2012-10-15 16:31:41 -04:00
Marc-André Moreau
010761055e
libfreerdp-channels: refactoring of channels cmake scripts with macros
2012-10-15 14:44:46 -04:00
Marc-André Moreau
0feebdbc37
cmake: refactoring of channel scripts
2012-10-14 02:38:58 -04:00
Marc-André Moreau
06fa85f31c
cmake: refactoring of MONOLITHIC_BUILD
2012-10-13 17:30:59 -04:00
Marc-André Moreau
9d064171a7
freerdp: get rid of old types
2012-10-09 03:26:39 -04:00
Marc-André Moreau
1bf8a45519
freerdp: change uint8, sint8, uint16, sint16 to BYTE, INT8, UINT16, INT16
2012-10-09 03:01:37 -04:00
Marc-André Moreau
2df7aaad39
libfreerdp-utils: get rid of xstrdup in favor of WinPR _strdup
2012-10-08 23:42:01 -04:00
Marc-André Moreau
9909a12af5
libfreerdp-utils: get rid of xmalloc, xrealloc and xfree
2012-10-08 23:21:26 -04:00
Marc-André Moreau
e60a092d81
freerdp: fix headers
2012-10-08 23:02:04 -04:00
Marc-André Moreau
40eea7c76b
cmake: rename WITH_MONOLITHIC_BUILD to MONOLITHIC_BUILD
2012-10-08 22:55:06 -04:00
Marc-André Moreau
ac7e1a3aea
channels: make rail, drdynvc, cliprdr and rdpsnd built-in channels
2012-10-08 22:48:17 -04:00
Marc-André Moreau
11aa251fca
channels: modify plugins to become optionally built-in
2012-10-08 20:26:11 -04:00
Marc-André Moreau
e0693c8f4c
cmake: refactoring of channels cmake scripts
2012-10-04 16:54:16 -04:00
Marc-André Moreau
12554c172f
winpr: fix build on Windows
2012-10-03 17:53:03 -04:00
Marc-André Moreau
dda32388ff
urbdrc: move USB redirection code
2012-10-02 16:54:14 -04:00
Marc-André Moreau
164783904a
freerdp: merging with master
2012-10-02 16:32:41 -04:00
Marc-André Moreau
6cb933aa5a
channels: added build options to enabled/disable client and server channels
2012-09-22 20:16:38 -04:00