Commit Graph

45 Commits

Author SHA1 Message Date
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
Marc-André Moreau 6afd621d4c Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow
Conflicts:
	server/Mac/mf_audin.c
	server/Mac/mf_event.c
	server/Mac/mf_info.c
	server/Mac/mf_mountain_lion.c
	server/Mac/mf_peer.c
	server/Mac/mf_rdpsnd.c
	server/Mac/mfreerdp.c
	server/shadow/CMakeLists.txt
2014-09-17 20:15:01 -04:00
Armin Novak 5b5791c8d7 Using wlog for server now. 2014-09-15 08:55:00 +02:00
Marc-André Moreau aa49e63cda mfreerdp-server: fix build 2014-09-13 12:33:33 -04:00
Armin Novak 084da200cf Replaced fprintf(stderr with DEBUG_WARN 2014-08-07 22:20:53 +02:00
Marc-André Moreau 02090abc8b mfreerdp-server: fix after changes to virtual channels 2014-02-28 12:47:09 -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 0fd705c6c7 channels/cliprdr: start server-side implementation 2013-08-16 16:46:47 -04:00
Marc-André Moreau 208c9f844a freerdp: fix core API bugs 2013-06-13 21:34:46 -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
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
Hardening 7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00
Marc-André Moreau 8c8a82c31f libfreerdp-utils: purge old STREAM utils 2013-03-21 16:45:25 -04:00
Marc-André Moreau a8201b0d1b libwinpr-utils: combine old and new stream utils 2013-03-21 15:19:33 -04:00
C-o-r-E 0603f007bf mfreerdp-server: rename timer queue 2013-03-05 17:22:52 -05:00
C-o-r-E 9a6d815a68 mfreerdp-server: removed manually setting sse2 optimizations in server 2013-03-04 14:12:12 -05:00
C-o-r-E eb03084b89 mfreerdp-server: started keyboard map 2013-02-27 17:16:09 -05:00
C-o-r-E 9c459130d6 mfreerdp-server: support 3 button mouse dragging 2013-02-22 13:01:31 -05:00
C-o-r-E 5fea599d60 mfreerdp-server: basic mouse input 2013-02-21 19:56:32 -05:00
C-o-r-E 4639ea6c2c mfreerdp-server: cleanup 2013-02-19 16:26:06 -05:00
C-o-r-E 2bd632d077 mfreerdp-server: formatting 2013-02-19 15:06:42 -05:00
Marc-André Moreau a17ddeea2a mfreerdp-server: merging with master 2013-01-31 11:33:08 -05:00
C-o-r-E c7c9f2f1a6 mfreerdp-server: fixed mstsc bug. 2013-01-30 18:54:08 -05:00
Marc-André Moreau d8afffd3a8 libfreerdp-core: fix server-side color depth negotiation 2013-01-27 17:17:04 -05:00
C-o-r-E f6d097aad2 mfreerdp-server: latency tweaks 2013-01-24 21:30:04 -05:00
C-o-r-E eb1534434c mfreerdp-server: rdpsnd cleanup (successive logons working) 2013-01-24 20:03:44 -05:00
C-o-r-E cd4ba385df mfreerdp-server: rdpsnd fixes (init works) 2013-01-23 21:11:41 -05:00
C-o-r-E 2404c26699 mfreerdp-server: temporarily removed conditional compilation of rdpsnd and audin 2013-01-23 16:09:09 -05:00
C-o-r-E 6fa0342471 mfreerdp-server: enabled SSE2 optimizations, fixed warnings 2012-12-12 19:13:26 -05:00
C-o-r-E a060c8894d mfreerdp-server: fixed some conditions that will crash the server 2012-12-11 22:07:56 -05:00
C-o-r-E 0f29376911 mfreerdp-server: scaling fix, performance improvements 2012-12-11 21:20:10 -05:00
C-o-r-E f9e8ff4927 mfreerdp-server: fixed geometry again 2012-12-09 22:17:53 -05:00
C-o-r-E 9391e60c13 mfreerdp-server: begin transition to IOSurface API 2012-12-09 17:40:37 -05:00
C-o-r-E e9f008d161 mfreerdp-server: cleanup 2012-12-05 18:35:49 -05:00
C-o-r-E 777bc6cd80 mfreerdp-server: refactored screen capture, fixed corruption issue 2012-12-05 15:35:11 -05:00
C-o-r-E c21269e124 mfreerdp-server: fixed scaling issue 2012-12-03 18:59:32 -05:00
C-o-r-E da8ed8e88f mfreerdp-server: fixed geometry 2012-11-15 20:07:28 -05:00
C-o-r-E e1f9df8bf5 mfreerdp-server: dirty screen regions seem to work 2012-11-15 18:34:33 -05:00
C-o-r-E 7c84bdbed5 mfreerdp-server: more refactoring; added info singleton 2012-11-15 15:43:58 -05:00
C-o-r-E 5ef0079ad4 mfreerdp-server: refactored file structure 2012-11-15 13:31:47 -05:00