Commit Graph

2220 Commits

Author SHA1 Message Date
Armin Novak 8f68b9c261 Using vendor/product scheme for settings now. 2015-06-02 09:50:53 +02:00
Vic Lee 1d31f25992 h264: add encoder constant QP rate control. 2015-06-02 15:32:45 +08:00
Hardening 29de9b6d4e Merge pull request #2658 from hardening/fix_2657
Fix for #2657
2015-05-29 17:58:30 +02:00
David FORT 84ae1d1cfb Take in account nfedera's remarks 2015-05-29 14:24:14 +02:00
David FORT a9709a62cc Check some return values 2015-05-29 14:24:14 +02:00
David FORT 909a965fe9 Added misc checks in rdg.c 2015-05-29 14:24:14 +02:00
David FORT d26ce6971c Fixed nfedera's remarks 2015-05-29 14:24:14 +02:00
David FORT 12f873f1f9 Fixed MessageQueue and callers 2015-05-29 14:24:14 +02:00
Hardening 4586450e27 Merge pull request #2661 from MartinHaimberger/mh-stream-fix
stream: check stream_new in winpr and libfreerdp
2015-05-29 14:12:59 +02:00
Martin Haimberger 951a2d2210 stream: check stream_new in winpr and libfreerdp
also fixed a few things
2015-05-29 04:46:50 -07:00
Hardening 2ec3734607 Merge pull request #2659 from oshogbo/unused
Remove unused variable.
2015-05-28 22:57:17 +02:00
Mariusz Zaborski 461497b8a5 Remove unused variable. 2015-05-27 16:04:06 +02:00
David FORT 85c350f5da Fix for #2657 2015-05-27 15:13:43 +02:00
Marc-André Moreau a2e0746f15 Merge pull request #2653 from bmiklautz/lzcnt
winpr: add intrin.h
2015-05-27 09:00:22 -04:00
Bernhard Miklautz f9c7e03044 winpr: add intrin.h
Exposing lzcnt in crt.h might causes compiler errors (redefinition) with
recent versions of gcc (>=4.9) when winpr is included in other projects.
As lzcnt isn't part of crt according to MSDN and also shouldn't be
exported by default it was moved to intrin.h.

The related test was also moved to the top level directory of winpr.
2015-05-26 16:41:29 +02:00
Mariusz Zaborski 951dbd88de In c file the name is channelId. 2015-05-26 16:12:41 +02:00
Hardening 58b1995619 Merge pull request #2654 from oshogbo/typos
Typo
2015-05-26 16:10:41 +02:00
Marc-André Moreau 36cb1e6dc9 Merge pull request #2639 from awakecoding/master
WLog, server-side rdpdr, remote assistance, byteswap, etc
2015-05-22 14:30:11 -04:00
Marc-André Moreau 35e26020aa freerdp: patch multiple leaks and OOM errors 2015-05-22 14:14:57 -04:00
Bernhard Miklautz 7a1485a2e4 Merge pull request #2638 from kwitaszczyk/master
Assign peer to settings when a new RDP module is being initialized.
2015-05-22 13:36:00 +02:00
Marc-André Moreau 5526348079 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-05-21 13:29:59 -04:00
Konrad Witaszczyk 8797eef9b9 Assign peer to settings when a new RDP module is being initialized. 2015-05-21 16:54:19 +02:00
Bernhard Miklautz e6891b7a78 Merge pull request #2637 from nfedera/fix-shadow_client_context_cleanup
shadow/client context cleanup and unused vars fix
2015-05-21 16:21:09 +02:00
Marc-André Moreau b9c1cddc2e Merge pull request #2583 from bceverly/OpenBSD-cleanup
Two minor source code changes to remove warnings
2015-05-21 10:17:54 -04:00
Norbert Federa 535a4352a7 shadow/client context cleanup and unused vars fix 2015-05-21 16:05:05 +02:00
Norbert Federa cd0a8e0506 Merge pull request #2630 from hardening/new_2616
Add checks for some XXX_New and XXX_Add functions
2015-05-21 16:04:26 +02:00
Hardening 58602c7d2e Merge pull request #2632 from akallabeth/client_bandwidth_measurement_callback
Added client bandwidth measurement result callback.
2015-05-20 21:19:20 +02: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
Armin Novak e239c10fb9 Added client bandwidth measurement result callback. 2015-05-20 16:18:55 +02:00
Marc-André Moreau 29d14773c8 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	client/Windows/wf_client.c
	libfreerdp/common/assistance.c
2015-05-20 10:12:24 -04:00
Marc-André Moreau 05bc27e96d Merge pull request #2633 from clivest/progressive_codec_new_surface_fix
Fix rounding error in progressive codec surface new
2015-05-20 09:41:18 -04:00
Clive Stevens 5528b152ec Fix two cases of leaked regions in gdi/gfx 2015-05-20 12:35:24 +01:00
Clive Stevens 63ecb59681 Fix rounding error in progressive codec
The grid is composed of 64x64 blocks and should not be smaller
than the surface. If width or height were not a multiple of 64
the previous rounding resulted in a grid smaller than the surface.
2015-05-20 12:26:58 +01:00
Hardening f8120919af Add checks for some XXX_New and XXX_Add functions
Based on PR #2616
2015-05-18 11:28:00 +02:00
Norbert Federa 51b697d4c8 transport/mfreerdp: fix async transport
- handle WAIT_TIMEOUT result as error in async transport thread
  if an INFINITE timeout was specified in WaitForMultipleObjects
- fix mfreerdp's async transport handling to not use
  freerdp_get_event_handles/freerdp_check_event_handles if async
  transport is activated
2015-05-14 21:57:16 +02:00
Norbert Federa 35c11c721e gdi: fix nullification of instance->context->cache 2015-05-14 20:33:21 +02:00
Norbert Federa e99b84ef02 transport: fixed multiple errors in async thread 2015-05-11 21:55:58 +02:00
MartinHaimberger e3236c2317 Merge pull request #2605 from nfedera/fix-2015-05-08-01
fixed multiple missing gdi return value checks
2015-05-11 16:59:32 +02:00
Norbert Federa 1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Norbert Federa 71a4349928 fixed multiple missing gdi return value checks
mainly gdi_Create* functions
2015-05-08 21:39:23 +02:00
David FORT acf13da91c Return FALSE under Win32 2015-05-08 10:07:29 +02:00
David FORT 21d9ffcb8f Test the number of listening handles 2015-05-08 10:05:39 +02:00
David FORT fca4374919 Add the ability to have listener from an existing socket 2015-05-08 10:00:38 +02:00
Marc-André Moreau 30dd40e10a wfreerdp: fix and improve remote assistance 2015-05-07 14:20:49 -04:00
Marc-André Moreau 87bb3aa6e0 wfreerdp: fix build 2015-05-07 13:35:39 -04:00
Hardening a88adcbb7e Merge pull request #2601 from nfedera/fix-2015-05-07-01
Fix some unchecked create calls
2015-05-07 19:06:59 +02:00
Norbert Federa 509230f6b1 Merge pull request #2598 from clivest/stream_leak_fix
Fix two cases of stream resource leak
2015-05-07 18:24:47 +02:00
David FORT c330a3715e Fix empty window title
When the size of a RAIL string was 0, we were reporting an OOM error.
2015-05-07 15:08:00 +02:00
Norbert Federa f9f59cd29b Fix unchecked CreateDirectory calls 2015-05-07 13:28:13 +02:00
Marc-André Moreau 6b1fefea40 freerdp: fix remote assistance mode, add multi-address connection 2015-05-06 16:32:45 -04:00
Clive Stevens 2e41c5425b Fix whitespace 2015-05-06 15:54:23 +01:00
Clive Stevens b06e50479e Fix two cases of potentially leaked streams 2015-05-06 15:23:37 +01:00
Martin Fleisz 063c1bc806 Merge pull request #2592 from nfedera/fix-2015-05-05-01
Fix unchecked CreateThread calls and misc fixes
2015-05-06 10:16:26 +02:00
Bryan Everly 3b44bade4d Removed unnecessary include file. 2015-05-05 12:35:18 -04:00
Bryan Everly 9865854f3c Simplified random byte stream generation code to use SSL RAND_bytes() and also eliminated two more compiler warnings. 2015-05-05 12:33:44 -04:00
Marc-André Moreau 1de81c30a4 Merge pull request #2587 from floppym/armfix
Remove the ARM_FP_ABI option
2015-05-05 10:56:12 -04:00
Norbert Federa 25fc866a58 Fix unchecked CreateThread calls and misc fixes 2015-05-05 13:55:48 +02:00
Bryan Everly 6485e94395 Freed memory buffer that was allocated in previous commit. 2015-05-04 13:14:00 -04:00
Bryan Everly f7db1aea9a Fixed stream leak in modified code 2015-05-04 09:53:15 -04:00
Bryan Everly a7e77dfced Fixed unchecked malloc() error 2015-05-02 12:06:18 -04:00
Mike Gilbert 2355b54f85 Remove the ARM_FP_ABI option
It's unclear why this option would be necessary, and it causes problems
when people do not match it to their toolchain and CFLAGS.

To set the float abi, either use a toolchain with an appropriate default
or set the float-abi option in the CFLAGS environment variable.

This should resolve #2586.
2015-05-01 17:35:21 -04:00
Bryan Everly df9ae5e31b Changed the xf_tsmf.c code to test for zero visible rectangles for all platforms. Modified arc4random() change to actually have a skeletal implementation in winpr for BCryptGenRandom() on all platforms. 2015-04-30 10:12:37 -04: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
Bryan Everly 6ed90e831e Fixed linker warning about insecure crypto and fixed compiler warning about unsigned being compared to less than zero 2015-04-28 10:50:29 -04:00
Jonathan Kaplan 8dee5dab27 Fix issue when numWindowIds is 0 2015-04-28 00:21:38 -07:00
Bernhard Miklautz ff11057d49 gdi: fix problem with gdi_SelectObject check(s)
When a hdc is created no initial or default objects are created
therefore can the first call of gdi_SelectObject return NULL.
Because of this checking the return value of  gdi_SelectObject failed
for newly create hdc causing errors (disconnects).

Since all types of HGDIOBJECT are handled and the return value of
gdi_SelectObject isn't used the recently added checks were removed
again.
2015-04-26 22:28:49 +02:00
Norbert Federa 5926bbcf48 codec/rfx: simplification, segfault/malloc fixes
rfx_process_message_sync:
- simplified the check if the header messages got processed

rfx_process_message_tileset:
- ObjectPool_Take result was not checked
- fail if TS_RFX_TILE block type is not CBT_TILE
- CreateThreadpoolWork result was not checked
- post decoding loop code segfaulted in error case

rfx_decoder_tile_new:
- missing malloc check

rfx_message_free:
- segfault protection

rfx_write_message_tileset:
- segfault protection
2015-04-24 17:54:49 +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
Norbert Federa af79c30913 Merge pull request #2554 from akallabeth/event_fix
Fix for transport event reset
2015-04-22 11:04:37 +02:00
Hardening 6cd7713e12 Merge pull request #2544 from bmiklautz/boolenization
change return types of callbacks to BOOL
2015-04-22 11:01:27 +02:00
Bernhard Miklautz 159306fc7a Increase API version to 1.2.2 2015-04-22 10:23:25 +02:00
Bryan Everly 8c75127a67 Necessary changes to get latest branch working on OpenBSD 5.6 2015-04-21 14:42:06 -04:00
Bernhard Miklautz b029e78ae7 Merge pull request #2537 from MartinHaimberger/mh-autodetect-fix
autodetect: debug fixed and level adjusted
2015-04-21 16:52:32 +02:00
Armin Novak 65a4c6e1fc Changed listener callback arguments and return. 2015-04-21 15:57:25 +02:00
Armin Novak 90fa0e3fc6 Fixed handle copy and index. 2015-04-21 15:10:17 +02:00
Bernhard Miklautz db81151ea4 gdi: fix broken return type checks
Integrates comments from pull request.
2015-04-21 14:18:07 +02:00
Bernhard Miklautz 2c072d33d3 Fix GDI return values and other fixes
* top level GDI functions return 0 on error and != 0 otherwise but the
  low level functions (16bpp.c, 8bpp.c 32bpp.c) which are called did it
	exactly the other way around. Those were adapted.
* change gdi_InvalidateRegion to BOOL and check calls where appropriate
* integrate comments from pull request
2015-04-21 14:18:07 +02:00
Bernhard Miklautz 515502ffa5 change return types of callbacks to BOOL
* change all client/server callbacks to BOOL
* update all clients accordingly
* add multiple return value checks
* small fixes
2015-04-21 14:18:07 +02:00
Armin Novak d98e485ac0 Fixed some type mismatches. 2015-04-21 12:35:55 +02:00
Armin Novak d3336340ba Add *get_event_handles handle count, return check. 2015-04-21 12:24:50 +02:00
Armin Novak 6e213bc61b Modified GetEventHandles of listener
Now using nCount as in and out argument.
When called, set nCount to the number of available handles.
This value is checked and an error returned, if not enough
handles are available.
2015-04-21 12:09:44 +02:00
Vic Lee 93d59ac3de h264: change encoder api and add multi-thread support. 2015-04-21 14:02:57 +08:00
Bernhard Miklautz 12e256bb8e Merge pull request #2538 from MartinHaimberger/mh-add-transport-get-bytes
transport: added function to get bytes written
2015-04-20 18:34:13 +02:00
Armin Novak f634e52289 Using auto reset event now. 2015-04-20 15:04:44 +02:00
Armin Novak 5525d9f88b Fixed uninitialized return value. 2015-04-15 10:38:04 +02:00
Marc-André Moreau 4e1194c53b Merge pull request #2532 from dbungert/4bytestub
GW RPC-HTTP - 2 fixes
2015-04-14 09:23:47 -04:00
Martin Haimberger 5504f4261d autodetect: debug fixed and level adjusted
Fixed two debug statements and moved
to TRACE debug level
2015-04-14 03:54:33 -07:00
Martin Haimberger 9c0d275548 transport: added function to get bytes written
added function to get written bytes on transport.
This is needed to get a more accurate bandwidth
management.
2015-04-14 03:49:01 -07:00
Norbert Federa 951a40b639 Merge pull request #2517 from bmiklautz/alloc
winpr allocation checks
2015-04-14 11:57:33 +02:00
Armin Novak ea0e255058 Fixed broken pad setting. 2015-04-13 09:28:29 +02:00
Daniel Bungert 0a1273e508 GW RPC-HTTP - Don't drop 4 byte stub from the pipe
* Though not frequent, it's possible to get TsProxySetupReceivePipe
  data of stublength 4 that is actual data.  This happens when
  header->common.call_id == rpc->PipeCallId &&
  !(header->common.pfc_flags & PFC_LAST_FRAG).
  This should address GW disconnects that manifest as SSL read errors.
2015-04-10 15:09:54 -06:00
Daniel Bungert 3910baf49d GW RPC-HTTP login fix
* f469e069dc introduced a logic flip
  that broke RPC-HTTP Gateway.  Fix that.
2015-04-10 14:50:17 -06:00
Bernhard Miklautz 423b15108d Merge pull request #2522 from realjiangms/fix_WriteLock_leak
transport_write sometimes returns directly without cleanup.
2015-04-08 15:39:10 +02:00
zihao.jiang a057526f1e transport_write sometimes returns directly without cleanup. Fix code path to always do cleanup job. 2015-04-08 21:20:07 +08: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
Bernhard Miklautz 879ed36a3c Merge pull request #2513 from hardening/license_and_security_retValues
License and security ret values
2015-04-08 11:33:57 +02:00
David FORT c03bf75896 Take in account @nfedera's comments 2015-04-07 21:06:53 +02:00
David FORT c0b191a1c6 Fix a too big Stream_EnsureRemainingCapacity() 2015-04-07 15:19:59 +02:00
David FORT d84c760f7d Fix a typo in server-side code 2015-04-01 22:26:38 +02:00