Commit Graph

47 Commits

Author SHA1 Message Date
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
Marc-André Moreau
a8201b0d1b libwinpr-utils: combine old and new stream utils 2013-03-21 15:19:33 -04:00
Marc-André Moreau
62eec0c2b5 libfreerdp-utils: rename internal members of STREAM to match new wStream 2013-03-21 15:01:46 -04:00
Marc-André Moreau
c19c8a40dd libfreerdp-core: fix some async updates race conditions 2013-02-14 17:43:37 -05:00
Marc-André Moreau
47a7d54370 xfreerdp: stabilize asynchronous X11 event handling 2013-02-11 20:38:19 -05:00
Marc-André Moreau
4269ac5c14 xfreerdp: improve asynchronicity 2013-02-09 17:13:53 -05:00
Marc-André Moreau
64160af3a8 libfreerdp-core: added more message definitions 2013-02-04 14:56:54 -05:00
Marc-André Moreau
ea7a35ee9b libfreerdp-core: message queue refactoring 2013-02-04 11:05:24 -05:00
Marc-André Moreau
e18a0b807f libfreerdp-core: fix async updates with palettes 2013-02-03 16:19:25 -05:00
Marc-André Moreau
a1f23d0f97 libfreerdp-core: cleanup memory management of secondary orders 2013-01-28 18:42:32 -05:00
Marc-André Moreau
353376abd3 libfreerdp-core: added input event queue 2013-01-27 21:07:17 -05:00
Marc-André Moreau
10a35a9224 libfreerdp-core: add +async-update and +async-input command-line options 2013-01-27 18:22:46 -05:00
Marc-André Moreau
e1d0fad519 libfreerdp-core: fix memory leaks 2013-01-25 17:52:37 -05:00
Marc-André Moreau
c46074f926 libfreerdp-core: free messages after calls 2013-01-25 13:12:21 -05:00
Marc-André Moreau
d8f8be192e xfreerdp: add asynchronous dequeuing of graphical messages 2013-01-25 12:08:00 -05:00
Marc-André Moreau
c79015831e libfreerdp-core: copy messages for asynchronous queuing 2013-01-25 00:27:39 -05:00
Marc-André Moreau
c1d61ef365 libfreerdp-core: implement message dequeuing 2013-01-24 22:38:13 -05:00
Marc-André Moreau
c14cf1e203 libfreerdp-core: add message callback registration 2013-01-24 20:05:03 -05:00
Marc-André Moreau
3c8c9aab62 libfreerdp-core: add default message post calls in message queue stubs 2013-01-24 19:08:30 -05:00
Marc-André Moreau
f92f48bf9d libfreerdp-core: added message queue stubs 2013-01-24 17:11:43 -05:00