Commit Graph

309 Commits

Author SHA1 Message Date
Armin Novak 2d58e96dcc Exit main thread with winpr_exit to trigger resource cleanup.
When using pthread_once with destructors they are only called,
if each thread (including the main thread) is exited with pthread_exit.
Introducing winpr_exit as a wrapper for that purpose.
2018-02-12 10:33:02 +01:00
Armin Novak 4eb5b8e349 Replaced atoi 2017-11-15 15:52:16 +01:00
Armin Novak 8b9e3fa51e Fixed use of reserved keywords for include guards. 2017-07-20 09:35:41 +02:00
Armin Novak 0490aeb018 Fixed clang malloc integer overflow warnings. 2017-07-20 09:29:48 +02:00
Ilya Shipitsin c78a2f0333 resolve issues identified by cppcheck
[channels/drive/client/drive_file.c:125]: (error) Memory leak: path_slash
[server/Windows/wf_dxgi.c:195]: (error) Invalid number of character '(' when these macros are defined: 'WITH_DXGI_1_2'.
2017-05-01 16:40:02 +05:00
akallabeth 9fc9188770 Merge pull request #3794 from Abhineet-Ayan-Verma/patch-3
Added TAG macro definition
2017-02-21 12:44:33 +01:00
akallabeth 09e3d29f2b Merge pull request #3792 from Abhineet-Ayan-Verma/patch-1
Added TAG macro definition
2017-02-21 10:08:55 +01:00
Abhineet-Ayan-Verma be1f22fad6 Added TAG macro definition
Fixed TAG undeclared identifier error
2017-02-21 10:16:17 +05:30
Abhineet-Ayan-Verma f11ddb6ba6 Added TAG macro definition
Fixed TAG undeclared identifier error
2017-02-21 10:13:53 +05:30
Abhineet-Ayan-Verma 69fb77d5e9 Added TAG macro definition
Fixed TAG undeclared identifier error
2017-02-21 10:12:10 +05:30
akallabeth b35224bcab Merge pull request #3788 from Abhineet-Ayan-Verma/patch-5
Added TAG definition
2017-02-20 15:58:29 +01:00
Abhineet-Ayan-Verma 8c1c4d253e Added TAG definition 2017-02-20 18:33:52 +05:30
Abhineet-Ayan-Verma a66b0b3246 Update wf_update.c
+ TAG definition.
+ Required arguments to rfx_context_reset.
+ Replaced RDP_PIXEL_FORMAT_BGRA32 with PIXEL_FORMAT_BGRA32
2017-02-20 18:20:23 +05:30
Ilya Shipitsin 251727586d resolve a typo found by cppcheck
[server/Windows/wf_mirage.c:319]: (error) Invalid number of character '(' when these macros are defined: ''.
[server/Windows/wf_mirage.c:319]: (error) Invalid number of character '(' when these macros are defined: 'DFMIRAGE_LEAN'.
[server/Windows/wf_mirage.c:319]: (error) Invalid number of character '(' when these macros are defined: '_WIN64'.
2017-02-17 14:54:31 +05:00
Abhineet-Ayan-Verma 999cc22cdd Fixed undefined behavior in wf_peer_main_loop function
Undefined behavior on "wfPeerContext *context", as it is accessed before being initialized or assigned. Fixed.
2017-02-15 15:56:44 +05:30
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
Armin Novak 9a1c60885c Unified RFX server color format. 2016-10-06 13:43:15 +02:00
Armin Novak 11c442562a Fixed dupliace FREERDP_API declarations. 2016-02-27 11:36:34 +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
Bernhard Miklautz d73c4898c1 Add build-config.h
build-config.h should contain configure/compile time settings that are
relevant for projects that use FreeRDP.

For example the compiled in plugin search paths.
2015-11-09 15:54:22 +01: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 e8bfa29bd2 Replaced registry keys with cmake defines. 2015-06-24 14:02:48 +02:00
Bernhard Miklautz 06502e6a91 misc: integrate pull request feedback 2015-06-22 19:24:30 +02:00
David FORT 7c3f8f33ab Fixes for malloc / calloc + other fixes
This patch contains:

* checks for malloc return value + treat callers;
* modified malloc() + ZeroMemory() to calloc();
* misc fixes of micro errors seen during the code audit:
** some invalid checks in gcc.c, also there were some possible
integer overflow. This is interesting because at the end the data are parsed
and freed directly, so it's a vulnerability in some kind of dead code (at least
useless);
** fixed usage of GetComputerNameExA with just one call, when 2 were used
in misc places. According to MSDN GetComputerNameA() is supposed to return
an error when called with NULL;
** there were a bug in the command line parsing of shadow;
** in freerdp_dynamic_channel_collection_add() the size of array was multiplied
by 4 instead of 2 on resize
2015-06-22 19:21:47 +02:00
Bernhard Miklautz bf73f4e4f1 Fix unchecked strdups
* add missing checks
* adapt function return values where necessary
* add initial test for settings
2015-06-22 19:09:59 +02:00
Norbert Federa 1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Norbert Federa c77def3048 Fix unchecked CreateMutex calls 2015-05-07 13:27:49 +02:00
Norbert Federa 25fc866a58 Fix unchecked CreateThread calls and misc fixes 2015-05-05 13:55:48 +02:00
Norbert Federa ef1fd12b15 Fix unchecked CreateEvent calls and misc fixes
1)
Added missing checks for CreateEvent which also required the
following related changes:

- changed freerdp_context_new API to BOOL
- changed freerdp_peer_context_new API to BOOL
- changed pRdpClientNew callback to BOOL
- changed pContextNew callback to BOOL
- changed psPeerAccepted callback to BOOL
- changed psPeerContextNew callback to BOOL

2)
Fixed lots of missing alloc and error checks in the
changed code's neighbourhood.

3)
Check freerdp_client_codecs_prepare result to avoid segfaults
caused by using non-initialized codecs.

4)
Fixed deadlocks in x11 caused by missing xf_unlock_x11() calls
in some error handlers

5)
Some fixes in thread pool:
- DEFAULT_POOL assignment did not match TP_POOL definition
- don't free the pool pointer if it points to the static DEFAULT_POOL
- added error handling and cleanup in InitializeThreadpool
2015-04-29 18:18:39 +02:00
Norbert Federa 84577b1ca7 codec/rfx: error checking and various fixes
- removed some unneeded null checks for free()
- fixed a memory leak in shadow_client
- removed rfx_compose_message_header from API

Changed the following functions to BOOL, check the result
where they are called and handle failures:
- rfx_compose_message
- rfx_compose_message_header
- rfx_write_tile
- rfx_write_message_tileset
- rfx_write_message_frame_begin
- rfx_write_message_region
- rfx_write_message_frame_end
- rfx_write_message

rfx_process_message:
- check memory allocation failures
- verify protocol-conform order of data messages to prevents memory
  leaks caused by repeated allocations
- verify that header messages were parsed/received before the
  data messages
- treat unknown rlgr mode as error
- fixed/added error handling
- fixed all callers to check/handle result

rfx_encode_message:
- fixed incorrect usage of realloc
- missing malloc check
- missing check of CreateThreadpoolWork
- correct cleanup on failure (threadpool, memory)
- check rfx_encode_message result

rfx_encode_messages:
- check rfx_split_message result
- correct cleanup on failure
- prevent memory leak on failure

rfx_write_message_context:
- fixed invalid channelId value (must be 0xFF for WBT_CONTEXT)

rfx_process_message_codec_versions:
- fixed invalid read size of codec_version (it is 16bit)

rfx_process_message_channels:
- verify protocol conform channelId value

rfx_process_message_region:
- replaced invalid reallocs with malloc
- read and verify regionType and numTileSets from stream

rfx_process_message_tileset:
- check allocation results
- fixed incorrect usages of realloc

setupWorkers:
- fixed incorrect usages of realloc

rfx_split_message:
- removed dead code
- missing malloc check

rfx_compose_message:
- fixed a memory leak
- check/handle rfx_encode_message result
2015-04-23 15:42:21 +02:00
Bernhard Miklautz 12e1d94567 winpr: fixes and cleanup
Integrated notes and issues for the pending pull request
* wf_info:
 * cleanup: remove unnecessary breaks
 * fix typo
 * change usage of calloc
* print.c: fix incorrect check
* makecert.c: cleanup includes
2015-04-08 11:34:37 +02:00
Bernhard Miklautz 850de59b55 winpr: add checks for *alloc
Add missing checks if memory allocation was successful. Also adapt
caller(s) when possible.
2015-04-08 11:34:37 +02:00
Marc-André Moreau ddedc574f3 freerdp: remove tcp, uds utils 2014-11-12 14:06:34 -05:00
Martin Fleisz 0be28ba0f6 Merge pull request #1965 from akallabeth/dynamic-addin-naming
Dynamic channel library naming
2014-10-31 13:42:16 +01:00
Armin Novak 89bb28adb2 Fixed setting of RV_VERSION_PATCH, now BUILD_NUMBER is used for every library.
Executable names are now correctly set, using CMAKE_EXECUTABLE_SUFFIX now.
Fixed version defines for winpr executables.
2014-10-09 16:18:35 +02:00
Armin Novak 5364a834c4 Added windows version information to build. 2014-10-03 15:17:40 +02:00
Armin Novak 059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Armin Novak 5b5791c8d7 Using wlog for server now. 2014-09-15 08:55:00 +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
Marc-André Moreau 90d202ab87 server: fix build on Windows 2014-08-11 19:31:38 -04:00
Marc-André Moreau e4a4aa4d3a Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow
Conflicts:
	channels/encomsp/client/encomsp_main.c
	libfreerdp/core/tcp.c
	libfreerdp/crypto/certificate.c
	server/Windows/CMakeLists.txt
	server/X11/xf_cursor.c
	server/X11/xf_input.c
	server/X11/xf_interface.c
	server/X11/xf_monitors.c
	server/X11/xf_peer.c
2014-08-11 19:22:33 -04:00
Armin Novak 784696c1cd Fixed missing includes and invalid replacement. 2014-08-11 09:38:08 +02:00
Armin Novak 8d8719e101 Replaced fprintf with DEBUG_WARN 2014-08-11 09:19:47 +02:00
Marc-André Moreau d8b858811f shadow: initial windows server-side connectivity 2014-07-17 21:15:22 -04:00
Marc-André Moreau a732045c91 wfreerdp-server: restore Win8 DXGI 1.2 support 2014-07-17 18:27:40 -04:00
Vic Lee 29cb8680ce server: allow partial channel read (fix rdpsnd). 2014-07-14 20:00:38 +08:00
Armin Novak ad3255354d Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +02:00
Hardening f33f755635 Also specify the timestamp when sending samples
This patch complements the SendSample() callback to take the timestamp
as extra argument.
2014-06-18 23:44:34 +02:00
Marc-André Moreau fd8bbfd3b9 wfreerdp-server: update and fix core functionality 2014-02-28 15:27:05 -05:00
Marc-André Moreau 8510ad3171 freerdp: remove rdpChannel definition in favor of CHANNEL_DEF 2014-02-28 12:07:22 -05:00
Marc-André Moreau 6e1cdf1b67 libfreerdp-core: expose opaque HANDLE instead of WTSVirtualChannelManager* 2014-02-27 13:30:04 -05:00
Marc-André Moreau f3011492d8 freerdp-server: remove usage of deprecated custom server-side channel API 2014-02-16 23:09:21 -05:00
Marc-André Moreau f790831e7d Merge branch 'master' of github.com:awakecoding/FreeRDP into xrdp-ng 2013-09-05 15:23:19 -04:00
Marc-André Moreau b480ce1830 freerdp: remove vendor-specific options from build system, add automatic ways of including external clients/servers 2013-09-03 20:37:04 -04:00
Marc-André Moreau 23a8354656 channels: rdpsnd refactoring, drdynvc initial server-side code 2013-08-18 21:52:55 -04:00
Marc-André Moreau 0fd705c6c7 channels/cliprdr: start server-side implementation 2013-08-16 16:46:47 -04:00
Marc-André Moreau fe25303656 libfreerdp-codec: internal refactoring 2013-08-13 17:18:59 -04:00
C-o-r-E 340c3a4246 merged completely (painful) from awakecoding's tree 2013-06-25 20:41:32 -04:00
Marc-André Moreau 208c9f844a freerdp: fix core API bugs 2013-06-13 21:34:46 -04:00
C-o-r-E fe78d6d1bc attempt fixing big merge 2013-05-13 14:41:06 -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
C-o-r-E 4cdc276e25 merged 2013-05-05 17:57:31 -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
C-o-r-E 12559ccd8f Merge remote-tracking branch 'upstream/master' 2013-04-19 16:57:26 -04:00
Marc-André Moreau c65ee0c2f4 wfreerdp: fix build on Windows 2013-03-29 00:33:15 -04:00
Corey C 492930a398 wfreerdp-server: a little more debug info 2013-03-22 16:59:35 -04:00
Corey C 701711600e wfreerdp-server: more debug info 2013-03-22 13:12:01 -04:00
Corey C 0c98c5ea99 wfreerdp-server: added more error verbosity 2013-03-21 18:34:53 -04:00
Marc-André Moreau 8fb7e80919 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-03-21 16:46:35 -04:00
Marc-André Moreau 8c8a82c31f libfreerdp-utils: purge old STREAM utils 2013-03-21 16:45:25 -04:00
Corey C bf7a370760 wfreerdp-server: Fixed screen detection issue and home directory issue 2013-03-21 16:31:55 -04:00
Marc-André Moreau a8201b0d1b libwinpr-utils: combine old and new stream utils 2013-03-21 15:19:33 -04:00
Corey C 0812a8e9fc wfreerdp-server: fixed mirror driver unloading issue 2013-03-19 15:19:26 -04:00
Corey C 19b4c3e1ea wfreerdp-server: fixed sound negotiation with Direct Sound 2013-03-15 21:19:16 -04:00
Corey C 7544f024b7 wfreerdp-server: fixed sound negotiation with WASAPI 2013-03-15 21:04:50 -04:00
Corey C 882c2f79e7 wfreerdp-server: fix mirror driver loading and unloading 2013-03-14 20:18:51 -04:00
Corey C 6692b8faf9 wfreerdp-server: string comparison fix 2013-03-12 18:53:27 -04:00
Corey C f83aa371aa wfreerdp-server: more error handling improvements 2013-03-12 17:56:45 -04:00
Corey C 034000b0f1 wfreerdp-server: error handling improvements for mirror driver 2013-03-12 17:25:15 -04:00
Corey C f990fbe303 wfreerdp-server: cleanup output 2013-03-12 17:03:13 -04:00
Martin Fleisz c715cdc4a7 wfreerdp-server: Removed old rfx_context_set_cpu_info function 2013-03-04 16:33:37 +01:00
C-o-r-E 88207eaf68 merged upstream 2013-02-28 16:45:47 -05:00
Marc-André Moreau af80955b78 wfreerdp: fix rdpsnd 2013-02-27 17:35:57 -05:00
Corey C a9f09bb9e2 wfreerdp-server: fixed reconnection issue 2013-02-26 19:25:48 -05:00
Marc-André Moreau 2b9174a69b channels/rdpsnd: cleanup 2013-02-25 21:46:48 -05:00
Corey C 6b83668a72 Merge branch 'master' of https://github.com/C-o-r-E/FreeRDP 2013-02-19 17:17:39 -05:00
Corey C 5a6bcda2ff wfreerdp-server: formatting 2013-02-19 17:17:31 -05:00
C-o-r-E 567ee5a64a Merge branch 'master' of https://github.com/C-o-r-E/FreeRDP 2013-02-19 16:43:57 -05:00
C-o-r-E b39ae79749 Merge remote-tracking branch 'upstream/master' 2013-02-19 16:36:08 -05:00
Corey C 0471db7bca wfreerdp-server: fix warnings 2013-02-19 16:27:35 -05:00
Corey C 64a67b5cd0 wfreerdp-server: fix regression that I made earlier 2013-02-18 16:01:37 -05:00
Corey C 561e49009c wfreerdp-server: one liner -- it builds 2013-02-18 14:58:26 -05:00
Corey C 6176085ea1 wfreerdp-server: make rdpsnd backend selectable at build time 2013-02-18 14:40:37 -05:00
Corey C be7a84ec72 wfreerdp-server: removed cruft 2013-02-18 09:52:28 -05:00
Corey C 231eda37cd wfreerdp-server: sound latency tweaks 2013-02-15 20:39:31 -05:00
Corey C 347484c149 wfreerdp-server: wasapi rdpsnd works 2013-02-15 18:50:00 -05:00
Corey C ad16c31723 wfreerdp-server: refactored rdpsnd for multiple subsystems 2013-02-15 16:53:32 -05:00