Commit Graph

69 Commits

Author SHA1 Message Date
Armin Novak cc49a212bd Default to positive return for missing callbacks
When using +async-update, default to positive return if some
client callback is not implemented.
2020-03-10 08:59:52 +01:00
Armin Novak 182d0ce548 Added RDP 10.7 large pointer support
* Implements [MS-RDPBCGR] version 51 large pointer support.
* Logs unknown large pointer capability flags as warning.

Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-19 09:53:40 +01:00
Armin Novak 72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Armin Novak 2cc714a57d Updated RAILS implementation
* Implement new messages and callbacks
* Announce most recent channel features
* Added settings to configure flags to announce
2019-05-08 17:25:15 +02:00
Armin Novak c8587cea86 Fixed WINDOW_ORDER_INFO copy.
Patch by Andrey Vasilkin on mailing list
2019-01-18 13:04:34 +01:00
Armin Novak 987ca5ec6a Fixed another bunch of warnings. 2018-10-24 14:36:12 +02:00
Armin Novak a3819f65e8 Fixed unused variable warnings. 2018-08-24 13:40:36 +02:00
Armin Novak f19a17d3ed Fixed surface bits command cleanup. 2018-05-02 08:54:21 +02:00
Armin Novak 4e66972616 Fixed remaining global order buffers. 2018-05-02 08:54:21 +02:00
Armin Novak e5767f07ac Refactored order updates
Unified order creation/copy/delete to avoid memory leaks.
2018-05-02 08:54:21 +02:00
Armin Novak 2517755d25 Fixed thread function return and parameters. 2018-03-07 14:36:55 +01:00
Armin Novak 1f7d33a2f2 Fixed read/write of surface bits command.
The optional field exBitmapDataHeader of TS_ BITMAP_DATA_EX was ignored.
Read and expose the data (currently unused)
2018-03-01 11:38:59 +01:00
Armin Novak 032c0164d1 Fixed missing error check. 2017-11-15 15:56:25 +01:00
Armin Novak 0490aeb018 Fixed clang malloc integer overflow warnings. 2017-07-20 09:29:48 +02:00
Armin Novak b1d631f1e5 Added support for Set Keyboard IME Status 2017-05-12 09:43:58 +02:00
Armin Novak 88b6ff00d9 Fixed argument checks, formatting. 2017-03-03 14:11:28 +01:00
Armin Novak b2c29158be Scanbuild warning, argument checks and leak fixes.
* Added Stream_GetRemainingCapacity to check remaining stream size
  before writes.
* Fixed shadow server memory leak.
* Fixed lots of scanbuild warnings
* Added missing argument checks in many functions
* Added missing static function declarations
2017-03-02 18:13:43 +01:00
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 df35c135d1 Fixed color conversion, unified GFX and updated API. 2016-10-06 13:42:58 +02:00
Armin Novak e7814d5855 Fixed stream API for Stream_Copy. 2016-03-01 12:57:48 +01:00
Armin Novak 46fa7ec481 Fixed invalid stream copy length. 2016-02-29 12:51:54 +01:00
Armin Novak b61ab5ecb7 Fixed stream copy in update_message_SurfaceCommand 2016-02-25 19:37:20 +01:00
Bernhard Miklautz 28e63786cd Integrate pull request feedback
Use while instead of for with additional variable where appropriate.
2015-06-25 10:33:54 +02:00
Bernhard Miklautz 9f6fa7ef4c Fix possible endless loops on cleanup.
Some cleanup code possibly create endless loops because an unsigned
type was used as run variable but the check was >= 0 in the for loop.
2015-06-24 12:26:13 +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
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
Norbert Federa 25fc866a58 Fix unchecked CreateThread calls and misc fixes 2015-05-05 13:55:48 +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
Norbert Federa 344362a8a3 clients: fix "focus in event" issues
The input->FocusInEvent callback implementations (normal and fast-path) have
always sent the mouse position even if the pointer was outside of the freerdp
client area. In addition xfreerdp used the wrong pointer coordinates which
were relative to the root window instead of its own.
On focus-in the pointer position must only be sent if the pointer is
currently within the program's client area. However, the clients had no way
to pass that information to input->FocusInEvent which required an API change.

- removed mouse pointer x, y parameters from input interface's FocusInEvent
- clients are responsible to call input->MouseEvent on focus-in if necessary
- fixed xfreerdp and wfreerdp accordingly
2015-01-16 18:40:57 +01:00
Marc-André Moreau 736bcf2bd6 libfreerdp-core: fix async input mode for FocusInEvent, KeyboardPauseEvent 2014-12-15 11:35:35 -05:00
Zhang Zhaolong 3de5c62bf3 fix polyline. 2014-10-09 18:11:38 +08:00
Bernhard Miklautz f40053577f core: add support for set keyboard indicators PDU
Server Set Keyboard Indicators PDU MS-RDPBCGR 2.2.8.2.1

* add server side code
* add support for client callback
2014-10-03 12:10:44 +02:00
Armin Novak 7ea24ef6cb Decreased logging verbosity. 2014-09-15 19:55:21 +02:00
Armin Novak 2f519d7f16 Replaced logging in libfreerdp with wlog defines. 2014-09-15 08:48:46 +02:00
Norbert Federa 3c8700f62d Merge pull request #1963 from akallabeth/async-update-to-lib
Moved update thread from client to library.
2014-08-14 17:46:43 +02:00
Armin Novak f4c133eaf8 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:24 +02:00
Armin Novak 689902c995 Moved update thread from client to library. 2014-07-14 19:27:50 +02:00
Marc-André Moreau cdcd290c44 wfreerdp: fix most build warnings 2014-02-10 22:12:13 -05:00
Armin Novak b6fff6a992 Split message handling and resource cleanup for input and update messages. 2013-11-12 15:03:07 +01:00
Marc-André Moreau 3e3c0f1942 libfreerdp-core: fix potential asynchronous queuing memory problems for primary drawing orders 2013-11-03 13:29:48 -05:00
Marc-André Moreau 3cd5652c7d libfreerdp-core: fix asynchronous queueing of RemoteApp messages 2013-10-22 16:28:23 -04:00
Marc-André Moreau a55fbc7b68 libfreerdp-core: initialize queue objects earlier 2013-07-17 15:27:55 -04:00
Marc-André Moreau e8c5e6c70b libfreerdp-core: send using separate streams, re-enable frame acks 2013-05-15 18:05:40 -04:00
Marc-André Moreau 367ebf32a3 freerdp: make use of stream macros to access members 2013-05-15 12:14:26 -04:00
Marc-André Moreau 3b71f172dc libfreerdp-core: enable stream pool by default 2013-04-30 12:20:03 -04:00
Marc-André Moreau 946d7ec589 libfreerdp-core: fix compression with stream pool 2013-04-30 11:26:33 -04:00
Marc-André Moreau c49c235c93 libwinpr-utils: fix stream pool 2013-04-30 00:36:16 -04:00
Marc-André Moreau d776a2d4ea libfreerdp-core: start using stream pool 2013-04-12 17:05:42 -04:00
Hardening 7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00