Commit Graph

316 Commits

Author SHA1 Message Date
Martin Haimberger
0bf222ec50 hardend rdpdr channel 2015-06-18 03:04:32 -07:00
David FORT
12f873f1f9 Fixed MessageQueue and callers 2015-05-29 14:24:14 +02:00
Marc-André Moreau
35e26020aa freerdp: patch multiple leaks and OOM errors 2015-05-22 14:14:57 -04:00
Marc-André Moreau
89642923d1 channels/rdpdr: add more server-side error checking 2015-05-21 16:50:29 -04:00
Marc-André Moreau
d8460d14e0 channels/rdpdr: treat OOM and status failures in server-side code 2015-05-21 16:08:46 -04:00
Marc-André Moreau
aa34c8a7d5 channels/rdpdr: cleanup server-side rdpdr code 2015-05-21 14:33:38 -04:00
Marc-André Moreau
5526348079 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-05-21 13:29:59 -04:00
David FORT
29d372480a Take in account nfedera's review 2015-05-20 19:19:50 +02:00
Marc-André Moreau
7e1dbd505b Merge branch 'awakecoding' of https://github.com/vworkspace/FreeRDP
Conflicts:
	channels/rdpdr/server/rdpdr_main.c
2015-05-20 11:40:48 -04:00
David FORT
f8d6eb226c Fixed last VirtualChannelEntry 2015-05-19 13:56:48 +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
Mike McDonald
b6cb94b60e Fixed protocol parsing issue in general capability set. The SpecialTypeDeviceCap field is only present when the Version field is set to GENERAL_CAPABILITY_VERSION_02. 2015-04-22 17:33:42 -04:00
Bernhard Miklautz
79de8168f9 Integrate feedback from pull request
* orders.c: remove ; at eol
* rdpdr_main.c: simplify error case
* rdpsnd_pulse.c: fix incorrect check
* rdpsnd_main.c: adapt return value according to documentation
* update.c: fix incorrect return values
2015-03-30 18:29:32 +02:00
Bernhard Miklautz
74c8400789 coding style fixes
Add missing space after if
2015-03-30 17:15:45 +02:00
Bernhard Miklautz
f469e069dc stream: Stream_Ensure*Capacity: change return type
Change the return type of Stream_Ensure*Capacity from void to BOOL to be
able to detect realloc problems easily. Otherwise the only way to detect
this was to check if the capacity after the call was >= the required
size.
In case Stream_Ensure*Capacity fails the old memory is still available
and need to freed outside.

This commit also adds checks to most calls of Stream_Ensure*Capacity to
check if the call was successful.
2015-03-30 16:33:48 +02:00
Mike McDonald
b184a7531f Merge branch 'master' of https://github.com/awakecoding/FreeRDP into awakecoding-staging 2015-01-20 08:09:00 -05:00
Armin Novak
ac81b9ddf5 Fixed variable initialisation and cleanup. 2015-01-20 12:31:26 +01:00
Armin Novak
4171589647 Added CHANNEL_EVENT_DISCONNECTED handling.
Additional error checks and logging.
2015-01-20 11:55:22 +01:00
Marc-André Moreau
d5b3f9cbd4 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-01-08 14:22:05 -05:00
Mike McDonald
7febeb2dec Added rename file and fixed some minor bugs. 2014-12-30 18:41:21 -05:00
Bernhard Miklautz
b485bb2067 rdpdr: use host name for redirected drives if set
When a client set the host name, redirected drives would still be shown
as coming from the computer name. For example if the computer the client
run on is called "foo" and the client set the /host-name to "bar" any
redirected drive is shown as "driveX on foo".

Now the host name is used for drives when set.
2014-12-30 13:34:11 +01:00
Marc-André Moreau
51554ff16c channels: patch rdpdr/smartcard valgrind leaks, fix hang on disconnect 2014-12-28 14:56:13 -05:00
Mike McDonald
b21331cf1a First cut at server side implementation of RDPDR drive redirection. 2014-12-27 21:17:34 -05:00
Marc-André Moreau
b552aa9363 libfreerdp-core: add support for multiple redirection target addresses 2014-12-27 18:53:27 -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
Marc-André Moreau
fdd2dc7601 freerdp: patch valgrind leaks, cleanup 2014-12-03 14:17:27 -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
b22b897389 Reformatted changed files. 2014-09-09 16:32:22 +02:00
Armin Novak
419f102bec Fixed calling of dump functions, new API 2014-09-09 16:31:46 +02:00
Armin Novak
66b8905ac6 Using special log defines for channels now. 2014-08-11 09:12:01 +02:00
Armin Novak
158e1323de Fixed compiler warnings. 2014-08-07 19:05:48 +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
erbth
1a01949b68 drive hotpluging: register mounted drives already before first hotplug 2014-06-11 21:47:14 +02:00
Hardening
c076ffb020 Don't use NULL for pWrittenBytes when calling WTSVirtualChannelWrite()
Nothing in the MSDN API says that setting NULL is safe. And if the
implementation uses WriteFile directly, it crashes.
2014-05-28 17:04:24 +02:00
Marc-André Moreau
ee282a931b freerdp: fix build warnings on Windows 2014-05-10 09:50:36 -04:00
Marc-André Moreau
6505864bcd channels/rdpdr: replace usage of strndup 2014-05-08 23:45:40 -04:00
Marc-André Moreau
e7408089bd channels/rdpdr: remove sequenceId usage 2014-05-07 17:50:09 -04:00
Marc-André Moreau
d53a9415ae channels/smartcard: add sequence id to IRPs for easier cancellation 2014-05-06 18:19:54 -04: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
Hardening
ef11358668 Enhance ListDictonnary
This patch enhances ListDictionnary so that you can set callbacks for
keys and for values.
2014-04-18 18:26:04 +02:00
Marc-André Moreau
9de2a85f6a channels/smartcard: add async irp processing 2014-04-05 17:51:13 -04:00
Marc-André Moreau
2aa248853a channels/smartcard: cancel outstanding IRPs on re-initialization 2014-04-05 17:15:17 -04:00
Marc-André Moreau
70b490d05c channels/smartcard: add outstanding irp list 2014-04-05 16:57:31 -04:00
Marc-André Moreau
600218dfb2 channels/smartcard: cleanup ConnectA/ConnectW parsing 2014-04-05 16:06:46 -04:00
Marc-André Moreau
8cdb3576c2 Merge branch 'master' of github.com:awakecoding/FreeRDP into smartcard
Conflicts:
	channels/smartcard/client/smartcard_main.c
2014-04-02 18:27:31 -04:00
Marc-André Moreau
374b5e4dcc channels/rdpdr: fix potential robustness issues related to hotplug support 2014-03-25 16:37:47 -04:00
Zhang Zhaolong
69296ce3bd wfreerdp: build fix. 2014-03-04 13:54:25 +08:00
Marc-André Moreau
6695873394 libwinpr-wtsapi: fix multiple inconsistencies with original wtsapi headers 2014-02-28 14:49:57 -05: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
Zhang Zhaolong
f924190d8b drive: linux: add hotplug support. 2014-02-20 17:42:02 +08: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
Marc-André Moreau
b833073f57 libfreerdp-core: make client virtual channel API prototypes converge towards original API 2014-02-16 17:27:36 -05:00
Zhang Zhaolong
e82d2f9e14 drive: win: fix use drive name(path) to find out the device plugged out. 2014-02-14 16:35:44 +08:00
Zhang Zhaolong
7205e348eb drive: win: add hotplug support. 2014-02-14 15:09:55 +08:00
Marc-André Moreau
5ff847a6e6 wfreerdp: fix multiple warnings 2014-02-10 01:06:11 -05:00
Marc-André Moreau
1dbf279212 channels/smartcard: refactor usage of lists and get rid of workarounds 2013-11-03 20:46:40 -05:00
Marc-André Moreau
5406ebd5d8 channels/drive: refactoring 2013-11-03 19:10:33 -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
7dbe40bba8 channels/rdpdr: cleanup rdpdrPlugin struct 2013-10-17 17:39:48 -04:00
Marc-André Moreau
490f18a7aa channels/rdpdr: don't use deprecated LIST util, use ListDictionary for faster lookups 2013-10-17 16:30:36 -04:00
Marc-André Moreau
05d9fbfe2a channels/rdpdr: remove dependency on svc_plugin 2013-10-17 15:42:51 -04:00
Marc-André Moreau
49a2334554 channels/rdpdr: reduce dependency on svc_plugin 2013-10-17 15:20:04 -04:00
Marc-André Moreau
92f7d64c17 channels/rdpdr: start refactoring to get rid of old channel utils 2013-10-17 14:19:33 -04: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
73c02a7637 channels/cliprdr: fix unicode conversion 2013-08-19 12:21:40 -04:00
Marc-André Moreau
3d0d65e917 channels/rdpdr: server-side device list and user logged on pdu 2013-08-18 20:27:50 -04:00
Marc-André Moreau
363bd27d76 channels/rdpdr: start server-side device redirection 2013-08-18 18:09:12 -04: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
b4cac74136 xfreerdp-server: fix RemoteFX encoding 2013-05-01 18:15:55 -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
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
rdp.effort
e53e8e524d Initialize lpWideCharStr parameter when using ConvertToUnicode
This patch ensure that lpWideCharStr is initialized by callers of
ConvertToUnicode
2013-01-10 21:30:32 +01:00
Marc-André Moreau
d19e2042c3 libfreerdp-utils: remove deprecrated unicode utils in favor of WinPR 2012-12-17 10:20:25 -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
091f9f3034 client/common: automatically register fake rdpsnd channel when device redirection is in use 2012-11-21 09:30:16 -05:00
Marc-André Moreau
ecddb58ba2 channels: cmake cleanup, USB redirection refactoring 2012-11-20 19:34:52 -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
e0b37aa97e channels: load device addins using new command-line api 2012-11-08 19:01:52 -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
8e424f7e4c channels: simplify API 2012-10-16 12:41:16 -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
d3b505b008 channels: fix linking of channels 2012-10-14 03:22:58 -04:00
Marc-André Moreau
4924b9f673 Merge branch 'channels' of github.com:FreeRDP/FreeRDP into channels 2012-10-14 02:39:18 -04:00
Marc-André Moreau
0feebdbc37 cmake: refactoring of channel scripts 2012-10-14 02:38:58 -04:00
Marc-André Moreau
304b4c2d86 cmake: fix windows build 2012-10-14 01:17:25 -04:00
Marc-André Moreau
06fa85f31c cmake: refactoring of MONOLITHIC_BUILD 2012-10-13 17:30:59 -04:00
Marc-André Moreau
fba82c1a23 wfreerdp: fix compilation on Windows 2012-10-09 12:23:35 -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
1ed644786c freerdp: change boolean type to BOOL type 2012-10-09 02:38:39 -04:00
Marc-André Moreau
5612bc43f8 freerdp: change true/false to TRUE/FALSE 2012-10-09 02:31:28 -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
e95b5b5a24 channels: move rdpdr header 2012-10-08 21:00:07 -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
6431621282 channels: added generation of static channel entry table 2012-10-07 22:53:24 -04:00
Marc-André Moreau
3d98273185 channels: fix export of symbols on Windows 2012-10-07 10:21:54 -04:00
Marc-André Moreau
8f10d3aa3b channels/rdpdr: fix IRP creation (forgot to zero memory) 2012-10-06 16:55:58 -04:00
Marc-André Moreau
e2cd73ba54 channels: moving device plugins up in the directory structure 2012-10-05 18:30:14 -04:00
Marc-André Moreau
cb69657b81 channels: refactoring of rdpdr cmake scripts 2012-10-05 16:01:59 -04:00
Marc-André Moreau
e0693c8f4c cmake: refactoring of channels cmake scripts 2012-10-04 16:54:16 -04:00
Marc-André Moreau
4c319ebdd9 channels/rdpsnd: code style cleanup 2012-10-02 23:01:16 -04:00
Marc-André Moreau
77023ec1dd channels/rdpdr: reduce dependency on list utils in favor or lightweight interlocked singly-list lists 2012-10-02 21:52:27 -04:00
Marc-André Moreau
1fc525ccf7 libfreerdp-channels: replace list utils by interlocked API 2012-10-02 20:17:57 -04:00
Marc-André Moreau
ab7c952d80 channels: code style cleanup 2012-10-02 11:16:40 -04:00
Marc-André Moreau
5126e393ee channels/rdpdr: fix warning 2012-10-02 11:11:11 -04:00
Marc-André Moreau
2fde653d8a wfreerdp: merging with win32 integration branch 2012-10-02 11:05:21 -04:00
Marc-André Moreau
412f5dc452 freerdp: fix build on Linux 2012-10-02 10:57:39 -04:00
Marc-André Moreau
610af773b3 channels/scard: fix compilation 2012-10-02 09:57:32 -04:00
richterger
37ca446cae win32: make rdpdr printer plugin working on win32 2012-10-02 09:10:21 +02:00
richterger
6bb2a8f6b0 win32: Add the following options for the disk plugin:
disk:<name>:* will share all windows drives
disk:<name>:% will share the home directory of the user

In addition c+\xxx in the pathname will be replaced by c:\xxx to avoid conflicts with option separators
2012-10-02 09:02:17 +02:00
richterger
fbe8a2eaae Make the rdpdr disk plugin working on windows.
Currently not working are rename and setting of read only attribute and file times.

In addition it also adds the ability to staticly link plugins into the binary, so you get one big exe and need no dlls. I have only tested this on windows (only disk plugin so far).

I use the following options for cmake for static binary:

cmake -DWITH_MONOLITHIC_BUILD=ON -DMSVC_RUNTIME=static -DBUILD_SHARED_LIBS=OFF -DWITH_RDPDR=ON -DOPENSSL_INCLUDE_DIR=\opensslpath\inc32 -DOPENSSL_LIBRARIES="\opensslpath\out32.dbg\ssleay32.lib;d:\path\out32.dbg\libeay32.lib" -G "Visual Studio 9 2008" .

Important notice: Openssl need to be compiled with the same static runtime. Currently missing is a switch to link different openssl libraries for debug and release builds.
2012-10-02 08:58:54 +02:00
Marc-André Moreau
58e1fd325a libfreerdp-utils: get rid of freerdp_uniconv_in 2012-09-23 20:11:50 -04:00
Marc-André Moreau
d0ac31b2c1 libfreerdp-utils: get rid of freerdp_uniconv_out 2012-09-23 19:49:13 -04:00
Marc-André Moreau
44f18159c4 libfreerdp-utils: get rid of UNICONV unicode conversion context 2012-09-23 18:41:07 -04:00
Marc-André Moreau
a11a69c70f channels/rdpdr/disk: replace thread utils by WinPR thread API 2012-09-23 13:54:14 -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
Marc-André Moreau
3d65cb1c27 channels: moved client-side implementations in client subdirectories 2012-09-22 17:46:23 -04:00
Marc-André Moreau
cb8c0ef3c8 channels: refactoring of cmake build scripts 2012-09-20 23:39:27 -04:00
Marc-André Moreau
15eeaa2327 libfreerdp-utils: remove semaphore utils in favor of WinPR semaphore API 2012-09-18 19:40:54 -04:00