Commit Graph

192 Commits

Author SHA1 Message Date
Armin Novak 943e295714 WLog using C99 compatible variadic macros. 2016-10-07 14:05:27 +02:00
Armin Novak 9f5da483dc Reformatted files touched in last 2 commits. 2016-10-06 13:43:12 +02:00
Armin Novak 64590e7e89 Set pEntryPointsEx->ppInterface NULL on error. 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 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
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
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
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
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
Hardening 70b9e994e1 Merge pull request #2941 from akallabeth/clipboard_file_fix
Clipboard file fixes
2015-12-10 16:13:24 +01:00
Martin Fleisz 6890e0b84d cliprdr/server: Fix incorrect message flags 2015-11-19 16:29:57 +01:00
Martin Fleisz fc2768f807 cliprdr/server: Fix incorrect message header 2015-11-19 16:17:36 +01:00
Martin Fleisz 3070cab0fa cliprdr/server: Fix parsing of file contents request PDU 2015-11-19 14:12:26 +01:00
Bernhard Miklautz 0cdb4f7924 Fix compiler warnings
gcc (Debian 4.9.2-10) 4.9.2

winpr/libwinpr/thread/argv.c: In function ‘CommandLineToArgvA’:
winpr/libwinpr/thread/argv.c:94:6: warning: unused variable ‘index’ [-Wunused-variable]
  int index;

winpr/libwinpr/file/test/TestFileGetStdHandle.c: In function ‘TestFileGetStdHandle’:
winpr/libwinpr/file/test/TestFileGetStdHandle.c:44:2: warning: implicit
	declaration of function ‘CloseHandle’ [-Wimplicit-function-declaration]
  CloseHandle(stdout);
    ^
libfreerdp/codec/test/TestFreeRDPRegion.c: In function ‘test_norbert2_case’:
libfreerdp/codec/test/TestFreeRDPRegion.c:697:6: warning: unused variable ‘i’ [-Wunused-variable]
  int i;

channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_receive_format_list’:
channels/cliprdr/server/cliprdr_main.c:636:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
  CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
                        ^
channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_init’:
channels/cliprdr/server/cliprdr_main.c:1097:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
  CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
2015-11-09 19:26:34 +01:00
Martin Fleisz 25b1e39460 cliprdr/server: Server-side file content receiving used wrong callback 2015-10-29 12:45:12 +01:00
Martin Fleisz 730f43a380 cliprdr/server: Provide the server with a possibility to configure capabilities 2015-10-27 17:12:33 +01:00
Armin Novak 17a2d1ba1c Fixed clipboard file contents response and message to string. 2015-10-27 10:44:31 +01:00
Martin Fleisz 2d99f76667 cliprdr/server: Fix memory leak 2015-10-23 08:49:24 +02:00
Martin Fleisz 26d102c6dc cliprdr/server: Don't call CloseHandle on EventHandle 2015-10-16 11:40:25 +02:00
Armin Novak 82134fbef3 Remove unnecessary copy operation. 2015-10-02 09:29:00 +02:00
Martin Haimberger 52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -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
Martin Haimberger 6ab0187d84 Merge remote-tracking branch 'upstream/master' into mh-channel
Conflicts:
	channels/audin/client/oss/audin_oss.c
	channels/drive/client/drive_main.c
	channels/printer/client/printer_cups.c
	channels/printer/client/printer_main.c
	channels/rail/client/rail_main.c
	channels/rdpgfx/client/rdpgfx_main.c
	channels/rdpsnd/client/oss/rdpsnd_oss.c
	channels/remdesk/client/remdesk_main.c
	channels/remdesk/server/remdesk_main.c
	channels/tsmf/client/tsmf_media.c
2015-07-15 01:57:07 -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
Armin Novak 015754633d Fixed out of bound array access. 2015-06-26 09:50:21 +02: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 e5d5cd3c94 hardend cliprdr
hardend cliprdr server and client
also updated all callbacks in the server and client
implementations
2015-06-18 03:04:31 -07:00
David FORT 12f873f1f9 Fixed MessageQueue and callers 2015-05-29 14:24:14 +02:00
Norbert Federa 1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Armin Novak 449929fc35 Fixed NULL dereference. 2015-04-15 10:37:28 +02:00
Armin Novak e68726400d Fixed NULL pointer dereference. 2015-03-31 15:18:45 +02:00
Bernhard Miklautz 6a997fad53 cliprdr: ensure stream != NULL 2015-03-30 17:17:36 +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
Armin Novak b6d0ce797b Fixed variable initialisation and cleanup. 2015-01-20 12:31:43 +01:00
Armin Novak 3dc1f07847 Added CHANNEL_EVENT_DISCONNECTED handling.
Additional error checks and logging.
2015-01-20 11:45:36 +01:00
Marc-André Moreau 27a8e50e60 channels: fix drdynvc, patch memory leaks 2014-12-27 15:20:29 -05:00
Marc-André Moreau 08c8c6f285 channels/cliprdr: fix empty clipboard format lists, server-side locking 2014-12-20 13:07:30 -05:00
Marc-André Moreau 265e8b9e9d cliprdr/server: make channel thread optional 2014-12-18 11:11:36 -05:00
Marc-André Moreau afce8061b3 cliprdr/server: split add Open/Close callbacks 2014-12-18 10:46:23 -05:00
Marc-André Moreau 724d9f95a1 channels/cliprdr: move server cliprdr read code to separate function 2014-12-18 09:50:02 -05:00
Marc-André Moreau c3b172352d cliprdr/cliprdr: add missing server-side cliprdr sending functions 2014-12-15 17:27:20 -05:00
Marc-André Moreau a69eaddecd channels/cliprdr: add missing messages in cliprdr server 2014-12-15 17:05:32 -05:00
Marc-André Moreau 0d56e26438 channels/cliprdr: fix server-side cliprdr receive 2014-12-15 15:39:56 -05:00
Armin Novak 6b2790774e Fixed missing NULL pointer check. 2014-12-07 00:33:37 +01:00
Marc-André Moreau 182dd76037 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-12-04 10:49:01 -05:00
Norbert Federa 12fe822315 cliprdr: fix segfault caused by invalid seek value 2014-12-04 16:07:01 +01:00