Commit Graph

1498 Commits

Author SHA1 Message Date
Armin Novak
4f62d848ac Refactored interlocked typedefs, avoid namespace collisions. 2016-10-06 13:43:09 +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
0acfc649cd Fixed log message. 2016-10-06 13:43:08 +02:00
Armin Novak
35f1347d53 Fixed warnings and mac build. 2016-10-06 13:43:04 +02:00
Armin Novak
dc12641b23 Fixed a windows 8.1 issue. 2016-10-06 13:43:01 +02:00
Armin Novak
a6cef5cde7 Fixed GFX related issues. 2016-10-06 13:43:00 +02:00
Armin Novak
df35c135d1 Fixed color conversion, unified GFX and updated API. 2016-10-06 13:42:58 +02:00
Ondrej Holy
2fec57f1a0 rdpsnd/pulse: Fix crashes in pulseaudio
Function pa_stream_trigger has to be called under lock to avoid
following crashes on asserts:

Assertion 'e->mainloop->n_enabled_defer_events > 0' failed at pulse/mainloop.c:257, function mainloop_defer_enable(). Aborting.
Assertion '!e->next' failed at pulsecore/queue.c:104, function pa_queue_pop(). Aborting.
Assertion 'q->front' failed at pulsecore/queue.c:81, function pa_queue_push(). Aborting.
2016-10-04 15:18:16 +02:00
David PHAM-VAN
d5dc5b4a3f Fix smartcard channel disconnect 2016-09-19 11:27:25 -07:00
David PHAM-VAN
f5f3913c1f Fix Memory Leaks in Printer Redirection 2016-09-19 11:27:25 -07:00
David PHAM-VAN
fe2e4264af Fix Memory Leaks in RdpSnd 2016-09-19 11:27:25 -07:00
David PHAM-VAN
4265177f9f Fix Memory Leaks in RdpDR 2016-09-15 10:44:15 -07:00
David PHAM-VAN
1bca1e7820 Fix Memory Leaks in Disp channel 2016-09-15 10:44:15 -07:00
Martin Fleisz
3586e33866 Merge pull request #3435 from akallabeth/uuid_find_fix
CMake FindUUID fixes.
2016-08-25 09:00:56 +02:00
zihao.jiang
5d4e9a2c87 rdpgfx/server: More minor fix 2016-08-20 01:36:37 +08:00
zihao.jiang
7d0fa79f19 rdpgfx/server: More minor fix according to comments:
Not use sizeof on packet memory structure for stream length check/estimating and use number directly.
Most of the packet size could be obviously calculated/verified from code and comments in same function.
Macro is defined for those were referenced multiple times.
2016-08-16 14:49:56 +08:00
zihao.jiang
26c98e4429 rdpgfx/server: Minor fix: use switch for pdu length estimation 2016-08-07 20:15:39 +08:00
zihao.jiang
992e0e9f35 rdpgfx: more minor changes
1. Fix style for channels/rdpgfx/server/rdpgfx_main.c according to scripts/format_code.sh
2. Refactor and introduce APIs to allow rdpgfx server channel running in existing thread (similar to rdpsnd)
2016-08-07 20:15:39 +08:00
zihao.jiang
2b6bd2626d rdpgfx: various fixes according to comments
1. Fix stream leak in rdpgfx
2. Make src data const in zgfx. Harden zgfx to be independent to byte order
3. Fix written bytes return value in channel write
4. Add check for return value in shadow_client.c
5. Add gfx callback to send surface command with frame marker pdu.
6. Check remain length for recv subroutine
7. Fix compile errors
2016-08-07 20:15:39 +08:00
zihao.jiang
746a754244 rdpgfx: Implementation for server side channel
server/shadow: support h264 codec with gfx channel
2016-08-07 20:14:33 +08:00
Armin Novak
b7f8dc3d43 Fixed UUID find. 2016-06-27 10:37:24 +02:00
Vic Lee
019a569d42 rdpsnd/server: decrease audio latency and make it configurable. 2016-06-21 17:22:43 +08:00
Norbert Federa
90cdfa7646 cmake: replaced STATIC_CHANNELS with BUILTIN_CHANNELS 2016-06-15 13:36:27 +02:00
Norbert Federa
0ed98c4ee4 channels/audin/client/winmm: requires winpr 2016-06-15 13:30:38 +02:00
akallabeth
cf127ebfb9 Merge pull request #3357 from realjiangms/fix_rdpsnd_race
shadow/rdpsnd: Fix race condition in rdpsnd channel server.
2016-05-23 16:21:49 +02:00
zihao.jiang
444b678e71 shadow/rdpsnd: Fix race condition in rdpsnd channel server. The output buffer and format parameters are not protected. This cause some data inconsistence if rdpsnd has own thread 2016-05-22 22:13:32 +08:00
Bernhard Miklautz
41298d69a9 build: fix builds with -DBUILD_SHARED_LIBS=OFF
When no shared libs are built is required to export all generated
archive files otherwise programs linking against
freerdp-client/freerdp-server might miss symbols.

Fixes #3350
2016-05-18 17:13:45 +02:00
Armin Novak
704d69d540 Fixed NULL pointer access. 2016-05-12 09:28:12 +02:00
Marc-André Moreau
54cdd6a1ae channels/rdpgfx: fix resetting of codec contexts 2016-05-11 13:42:54 -04: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
Armin Novak
48b11cf150 Dynamic channel internal functions now static. 2016-04-26 09:35:54 +02:00
Armin Novak
8917a3da95 Fix CB_FILECONTENTS_REQUEST message decoding.
Do not require optional fields to be present as required by
[MS-RDPECLIP] 2.2.5.3 File Contents Request PDU (CLIPRDR_FILECONTENTS_REQUEST)
2016-04-19 16:47:44 +02:00
Bernhard Miklautz
62cb5fac44 build: add missing dependencies
Add all missing dependencies found when building with
STATIC_CHANNELS=OFF.

Fixes #3281
2016-04-15 14:32:40 +02:00
Bernhard Miklautz
783807229d build: add missing dependencies
Add all missing dependencies found with --no-undefined. Since
dependencies aren't exported anymore (if not required) it is no necessary
to explicitly list all required libraries.
2016-04-07 15:10:00 +02:00
Bernhard Miklautz
a0d9969a30 Merge pull request #3254 from akallabeth/avc444_cmd_arg
Added advanced gfx command line options.
2016-03-31 11:43:38 +02:00
Marc-André Moreau
cedf6d98e2 freerdp: more UWP porting 2016-03-29 20:34:52 -04:00
Marc-André Moreau
4d629a7999 freerdp: UWP porting 2016-03-29 16:03:15 -04:00
Bernhard Miklautz
bafe1aa17e usbdrc: remove unused dependencies 2016-03-29 18:14:34 +02:00
Bernhard Miklautz
9e8c6c99b6 First shot on fixing over linking
If a target is linked against libraries with cmake
(target_link_libraries) and the libraries are not marked as PRIVATE
they are "exported" and in case a other target is linked against this
target it is also linked against *all* (not private) libraries.

Without declaring private libraries PRIVATE a lot of over linking
(linking against unneeded libraries) was done.
2016-03-29 18:14:34 +02:00
Armin Novak
50873be062 Added advanced gfx command line options. 2016-03-24 16:36:43 +01:00
Armin Novak
43b13ffcd2 Replace SetFilePointerEx with SetFilePointer. 2016-03-17 09:34:24 +01:00
Armin Novak
f45be8dab0 Print device name when loading channel. 2016-03-17 09:33:39 +01:00
Armin Novak
9ab3532bf8 Renamed GFX defines to conform to spec. 2016-03-16 13:43:18 +01:00
Armin Novak
5bc333c626 Implemented GFX AVC444 support. 2016-03-16 13:43:18 +01:00
Armin Novak
3a3ec85898 Unified RDPGFX_RECT16 and RECTANGLE_16 2016-03-16 13:43:17 +01:00
Marc-André Moreau
9211f44e46 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2016-03-15 20:19:15 -04: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
zihao.jiang
40ea6e9228 audin: Fixed default sys argument for audin
PR #3173 fixed argument parsing. However it breaks the usage without specifying subsystem: "/microphone"
In particular, aFreerdp microphone redirect is broken as it exactly uses "/microphone"
This PR fixes the regression.
Fix: We should not call CommandLineParseArgumentsA if argc is only 1 (same case as rdpsnd_main.c)
2016-03-11 01:52:18 +08:00
Marc-André Moreau
ceefc4b099 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2016-03-07 10:19:50 -05:00
akallabeth
52f1e6b27a Merge pull request #3086 from DavBfr/fix-rdpdr
Fixes for rdpdr
2016-03-07 10:55:51 +01:00
Hardening
fb63dd267c Merge pull request #3194 from nfedera/fix-convertfromunicode-hardening
ConvertFromUnicode fixes and misc hardening
2016-03-04 11:19:00 +01:00
Bernhard Miklautz
120bd2d8bd Merge pull request #3173 from akallabeth/audin_arg_fix
Fixed argument parsing for audin.
2016-03-03 20:39:31 +01:00
Armin Novak
fb88ad0ee6 Fixed symbol export for sound plugins. 2016-03-03 17:17:13 +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
2f28b6c38b Improve code using more winpr functions 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
David PHAM-VAN
a20950faa0 Implement FileAllocationInformation 2016-03-02 10:01:51 -08:00
Bernhard Miklautz
e02af8287e Merge pull request #3160 from akallabeth/stream_fixes
Stream fixes
2016-03-01 16:44:19 +01:00
Armin Novak
e7814d5855 Fixed stream API for Stream_Copy. 2016-03-01 12:57:48 +01:00
Bernhard Miklautz
25506348d0 Merge pull request #3168 from akallabeth/visibility_fixes
Fixed default visibility.
2016-02-29 16:59:58 +01:00
Armin Novak
68c402ac58 Removed windows module.def files.
All symbols exported from libraries are declared
using *_API defines.
2016-02-29 15:18:47 +01:00
Armin Novak
5acd80dd5b Exporting channel entry points. 2016-02-29 15:18:19 +01:00
Armin Novak
8482fbf854 Fixed formatting. 2016-02-29 12:34:53 +01:00
Hardening
da9d9ed450 Merge pull request #3165 from akallabeth/printer_fix
Printer fix
2016-02-29 10:31:50 +01:00
Armin Novak
71bea3e1d0 Fixed argument parsing for audin. 2016-02-28 19:56:57 +01:00
zihao.jiang
17139b9fe6 android: Fix sound redirection.
After #3097, the java side pass command line argument to JNI for freerdp settings. However there's several issues need to be fixed:
1. The argument /sound should be appended if freerdp is required to play sound at local device
2. The option value for "audio-mode" is not correct.
It should match the definition in client/common/cmdline.c
/* Audio Mode */
define AUDIO_MODE_REDIRECT     0 /* Bring to this computer */
define AUDIO_MODE_PLAY_ON_SERVER   1 /* Leave at remote computer */
define AUDIO_MODE_NONE         2 /* Do not play */
3. Uncomment support for WAVE_FORMAT_PCM in audin. I tested on my android phone and Nokia N1 tablet. It works on both device
2016-02-28 13:43:11 +08:00
David PHAM-VAN
8ebe5b9930 Fix bad malloc size in statvfs 2016-02-26 09:45:35 -08:00
Armin Novak
b7187d04a5 Printer driver from command line now used. 2016-02-26 16:14:18 +01:00
Bernhard Miklautz
8bdad1eb93 Merge pull request #3140 from hardening/printer_work
Misc changes
2016-02-25 16:57:34 +01:00
Bernhard Miklautz
e6f013eac7 fix spelling
replace occured with occurred
Fixes #3142
2016-02-22 17:01:43 +01:00
David FORT
60fed9d574 Mutualize definitions for the printer channel 2016-02-16 22:24:51 +01:00
Marc-André Moreau
8fa25aae6a mfreerdp: fix build on 32-bit with mac audio 2016-02-16 13:42:08 -05:00
Armin Novak
c430d5eeb5 Removed broken check, fixes #3112 2016-02-05 10:50:26 +01:00
Hardening
13df05be78 Merge pull request #3079 from akallabeth/drive_hotplug_fix
Fixed argument checks for drive channel.
2016-02-04 09:06:43 +01:00
Norbert Federa
157d81b268 Merge pull request #3104 from akallabeth/sign_mismatch_fixes
Sign mismatch warnings fixed
2016-02-03 12:56:45 +01:00
Armin Novak
d267750a79 Fixed flac caps creation. 2016-02-03 11:55:23 +01:00
Armin Novak
539be1f9a5 Fixed unsigned underflow. 2016-02-03 11:30:15 +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
David PHAM-VAN
3f5ce2d43f Refactor format_supported with a nice switch() statement 2016-01-29 09:58:48 -08:00
David PHAM-VAN
8ef64aee96 Add ADPCM codec for Mac client 2016-01-28 16:11:39 -08: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
8595e395ab Fixed size checks (thanks to @virtman) 2016-01-28 11:45:06 +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
Bernhard Miklautz
ede0da3280 build: fix a problem with cmake version 2.8.11
Starting with cmake 2.8.10 FreeRDP exports a cmake find module. With 2.8.12
the PRIVATE/PUBLIC keywords were introduced in cmake. When building with
2.8.11 it is not possible to mark link dependencies as private and
therefore they need to be exported.
2016-01-15 13:32:25 +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
Bernhard Miklautz
97edeca204 Merge pull request #2874 from akallabeth/stdtypes
Using stdint.h and stdbool.h for type definitions
2015-12-17 16:37:54 +01:00
Armin Novak
6ed43cd6ec Updated pdb file locations.
Now supporting generators NMake and Visual Studio.
2015-12-15 12:08:35 +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
Hardening
55d097a161 Merge pull request #2414 from zavadovsky/opensles_fixes
opensles fixes
2015-12-14 17:22:38 +01:00
Hardening
292a37b719 Merge pull request #2772 from bjcollins/master
tsmf updates/fixes for gstreamer decoder on X11 platform
2015-12-14 16:08:13 +01:00
Hardening
58d80d23d5 Merge pull request #2973 from hopToDev/master
Fixed build errors that occur when setting WITH_IOSAUDIO build option
2015-12-14 15:10:33 +01:00