Commit Graph

213 Commits

Author SHA1 Message Date
Armin Novak
9318707291 Added return check for ConvertFromUnicode. 2017-07-24 08:53:21 +02:00
Armin Novak
3586f8502c Fixed missing unicode conversion for mac drive redirection. 2017-07-20 12:35:43 +02:00
Armin Novak
8fa6020b5f Add legacy mount locations, limited max depth. 2017-04-18 09:13:35 +02:00
Armin Novak
c1872de641 Fixed WCHAR/CHAR conversion for drive path. 2017-04-13 16:20:01 +02:00
Armin Novak
b0599f8c54 Fixed hotplug mount locations. 2017-04-13 15:55:50 +02:00
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
088a04fa44 rdpdr: using new VirtualChannelEx api 2016-11-23 01:26:03 -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
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
35f1347d53 Fixed warnings and mac build. 2016-10-06 13:43:04 +02:00
David PHAM-VAN
4265177f9f Fix Memory Leaks in RdpDR 2016-09-15 10:44:15 -07:00
Marc-André Moreau
915b9a15b1 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	winpr/libwinpr/bcrypt/CMakeLists.txt
2016-05-11 11:05:17 -04:00
Marc-André Moreau
4d629a7999 freerdp: UWP porting 2016-03-29 16:03:15 -04:00
Armin Novak
f45be8dab0 Print device name when loading channel. 2016-03-17 09:33:39 +01: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
David PHAM-VAN
40504c5460 Fix Uninitialized Variable 2016-03-02 10:04:24 -08:00
David PHAM-VAN
f4eb278935 Mount only removable devices and network drives in Windows; Adds consistency with Linux and Mac 2016-03-02 10:01:51 -08:00
David PHAM-VAN
31d9599d09 Move first_hotplug call to parent thread to avoid parallel access to devman dictionary 2016-03-02 10:01:51 -08:00
David PHAM-VAN
2e1e6a4ff0 Add hotplug support for MacOS 2016-03-02 10:01:51 -08:00
Armin Novak
c430d5eeb5 Removed broken check, fixes #3112 2016-02-05 10:50:26 +01:00
Armin Novak
511f9e810a Use ERROR_INVALID_DATA for short buffers. 2016-02-03 11:04:35 +01:00
Armin Novak
96aecca394 Fixed length check issue. 2016-02-02 17:59:56 +01:00
Armin Novak
d847993a0c Using Stream_ReminingLength for read checks. 2016-01-28 12:30:10 +01:00
Armin Novak
6f50589c05 Cleared up error code usage. 2016-01-28 12:05:14 +01:00
Armin Novak
57f1e26f36 Checking capability read return.
Updated copyright headers.
2016-01-28 11:14:29 +01:00
Armin Novak
e08ca73ddc Improved error checks. 2016-01-27 19:26:52 +01:00
Armin Novak
deffd0d781 Fixed argument checks for drive channel. 2016-01-24 15:21:06 +01:00
Armin Novak
aa90673008 Fixed memory leak on cleanup. 2016-01-15 09:33:21 +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
Armin Novak
61e7f993aa Fixed possible memory leak. 2015-09-01 12:34:40 +02:00
Armin Novak
c7238fb9d9 Fixed uninitialized values. 2015-09-01 12:26:33 +02:00
Armin Novak
276685263d Fixed cleanup code. 2015-08-28 11:46:24 +02:00
Armin Novak
5e360ddcb1 Fixed memory leak. 2015-08-28 11:22:21 +02:00
Armin Novak
26b1f5a914 Fixed memory leak. 2015-08-28 11:06:26 +02:00
Armin Novak
198b70db0e Fixed memory leak. 2015-08-28 11:05:44 +02:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Martin Haimberger
414d4b8f8e fixed wrong returntype under windows 2015-07-30 07:50:10 -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
Bernhard Miklautz
9fb6705380 rdpdr/printer: ignore unhanded packetID
Ignore packetIDs PRN_CACHE_DATA and PRN_USING_XPS instead of returning
an error.
2015-07-28 14:05:57 +02: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
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
David FORT
29d372480a Take in account nfedera's review 2015-05-20 19:19:50 +02: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
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
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
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
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
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
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
fb3f5e6bd2 libfreerdp-utils: purge deprecated list utils 2014-04-26 12:31:24 -04: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
Zhang Zhaolong
f924190d8b drive: linux: add hotplug support. 2014-02-20 17:42:02 +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
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