Commit Graph

356 Commits

Author SHA1 Message Date
Armin Novak
1bcb799560 Listen to CHANNEL_EVENT_WRITE_CANCELLED and emit if queue is cleared. 2019-11-06 13:01:43 +01:00
Armin Novak
1b78b59926 Fixed #4809: Properly process CHANNEL_EVENT_WRITE_COMPLETE 2019-11-06 13:01:43 +01:00
Armin Novak
09d14a2462 Fixed VirtualChannelWriteEx error case leaks. 2019-11-06 13:01:43 +01:00
Armin Novak
64f64cd035 devman_load_device_service device argument can be const. 2019-10-24 15:04:48 +02:00
Armin Novak
5e9f454256 Use stat instead of lstat to iterate /Volumes
Some entries are symbolic links, so follow them and check the link
target for being a directory.
2019-09-12 14:35:01 +02:00
Armin Novak
6f82ab6204 Hotplugging only for drive redirection. 2019-09-12 11:14:39 +02:00
Armin Novak
15bc118d78 Names of services are now const. 2019-09-04 15:48:34 +02:00
Armin Novak
935ed36e68 Add dynamicDrives hotplug option. 2019-08-23 10:27:01 +02:00
Armin Novak
3eb3ad3cab Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
9566ae0e90 Fixed mac compilation warnings. 2019-02-21 17:30:12 +01:00
Martin Fleisz
22e666d2d0
Merge pull request #5225 from akallabeth/rdprd_caps_read_fix
Fixed size checks when reading rdpdr capabilities.
2019-02-08 09:05:27 +01:00
Bernhard Miklautz
162a69b0f0
Merge pull request #5139 from akallabeth/drive_hotplug_shutdown_crash_fix
Fixed crash on drive hotplug shutdown.
2019-02-07 10:08:41 +01:00
Armin Novak
51039f6535 Fixed compiler warnings #5210 2019-01-29 16:15:23 +01:00
Armin Novak
8b7da77f36 Fixed size checks when reading rdpdr capabilities. 2019-01-29 11:50:27 +01:00
Armin Novak
192680a001 Added callback to handle printer custom components in printer backend. 2018-12-12 10:57:53 +01:00
Armin Novak
598ece4ae7 Fixed crash on drive hotplug shutdown. 2018-12-12 09:32:09 +01:00
Jonathan Lafontaine
35d7a1e38d Allow fixed drive redirection on Windows (a:, c:, ...) and fix macos drive duplication. 2018-10-29 10:17:42 -04:00
Norbert Federa
0572572eb9 fix issue with fnObjectFree and related casts
- remove unnecessary/dangerous OBJECT_xxx function-style casts
- fix -Wstrict-prototypes issue with OBJECT_NEW_FN definition
2018-10-19 11:30:01 +02:00
Armin Novak
62c1696d4c Removed use of unchecked sprintf 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
1001807c5f channels/rdpdr: Prevent buffer overflow found by covscan
buffer_size_warning: Calling strncpy with a maximum size argument of 256 bytes on destination array "irp->PathName" of size 256 bytes might leave the destination string unterminated.
buffer_size_warning: Calling strncpy with a maximum size argument of 256 bytes on destination array "irp->ExtraBuffer" of size 256 bytes might leave the destination string unterminated.
2018-08-22 13:35:43 +02:00
Ondrej Holy
472576e6e0 channels/rdpdr: Format code by astyle
Run ./scripts/format_code.sh before the following changes.
2018-08-22 13:35:43 +02:00
Ondrej Holy
10bddb9fd9 channels/rdpdr: Fix leak found by covscan
leaked_storage: Variable "newbuf" going out of scope leaks the storage it points to.
leaked_storage: Variable "keys" going out of scope leaks the storage it points to.
leaked_storage: Variable "pKeys" going out of scope leaks the storage it points to.
leaked_storage: Variable "s" going out of scope leaks the storage it points to.
leaked_storage: Variable "computerNameW" going out of scope leaks the storage it points to.
leaked_storage: Variable "s" going out of scope leaks the storage it points to.
2018-08-22 13:35:43 +02:00
Armin Novak
4035ed46c8 Added automount flag for windows and macos implementations. 2018-07-30 12:37:19 +02:00
Armin Novak
e8393a22e2 Remember if drive was added by automout. 2018-07-30 12:31:11 +02:00
Armin Novak
a716dc244c Removed duplicate resource free. 2018-06-18 10:23:57 +02:00
Armin Novak
357391bd93 Fixed channel duplicate disconnect handling 2018-04-09 11:26:43 +02:00
Armin Novak
2517755d25 Fixed thread function return and parameters. 2018-03-07 14:36:55 +01:00
Armin Novak
64cfd750f9 Fixed #4384: Drive hotplug detection 2018-01-25 15:43:53 +01:00
David Fort
41823080f9 Fix users of Stream_GetPosition() that returns size_t 2017-12-11 22:38:58 +01:00
Armin Novak
9859cfb736 Fixed dead store. 2017-11-15 15:54:38 +01:00
Bernhard Miklautz
bbd11eef1d Merge pull request #4045 from akallabeth/drive_fixes_overlayfs
Drive fixes overlayfs
2017-09-22 17:22:00 +02:00
David Fort
dbc5584a68 Merge pull request #4052 from akallabeth/mac_fixes
Mac drive fixes
2017-09-12 23:16:39 +02:00
Bernhard Miklautz
6a83a1e7fa Merge pull request #4050 from akallabeth/rdpefs_server_client_name_fix
Mask out ignored bits from UnicodeFlag.
2017-08-29 10:35:45 +02:00
Armin Novak
41f919b8bd Fixed integer size warnings. 2017-07-24 11:31:48 +02:00
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
8b9e3fa51e Fixed use of reserved keywords for include guards. 2017-07-20 09:35:41 +02:00
Armin Novak
0e6a44faf3 Mask out ignored bits from UnicodeFlag. 2017-07-19 09:41:58 +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
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
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
akallabeth
52f1e6b27a Merge pull request #3086 from DavBfr/fix-rdpdr
Fixes for rdpdr
2016-03-07 10:55:51 +01:00
Norbert Federa
ef4b29e5b3 ConvertFromUnicode fixes and misc hardening
- Added missing ConvertFromUnicode checks
- If ConvertToUnicode allocates memory, guarantee the null termination
  similar to ConvertFromUnicode's implementation
- Fixed some TestUnicodeConversion.c CTest return values
- Added some CTests for ConvertFromUnicode and ConvertToUnicode
- Misc code and protocol hardening fixes in the surrounding code regions
  that have been touched
2016-03-03 16:56:19 +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
58ada13dd9 fixed some remakes and compiler errors 2015-07-22 02:36:24 -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
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