Commit Graph

605 Commits

Author SHA1 Message Date
akallabeth
cbee45aace Fixed clipboard 'called with invalid type' warning 2020-05-06 13:31:57 +02:00
akallabeth
9379f93034 Fixed #6121: Use correct destination color format 2020-04-28 12:40:03 +02:00
xie.kunming
979798f51c wf_cliprdr.c forget OleUninitialize if create_cliprdr_window failed 2020-03-02 11:45:45 +01:00
Armin Novak
2822585db4 Disable windows console attach. 2020-02-12 15:47:31 +01:00
KunMing Xie
7fec130dbc wf_rail.c: fix crash if CreateWindowEx failed (#5812)
* wf_rail.c: fix crash if CreateWindowEx failed

Co-authored-by: tensorflow123 <kunming.xie@hotmail.com>
2020-01-08 09:02:49 +01:00
Armin Novak
b89fd2d8e5 Fix #5749: Retry to open the clipboard.
On windows the clipboard is shared and other applications
or windows might lock the clipboard.
For this reason, retry opening if it fails and ignore
failure to open during normal operation.
2019-11-26 07:57:32 +01:00
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Martin Fleisz
5439c97953
Merge pull request #5553 from akallabeth/win_console_fix
Reattach to cmd if wfreerdp was started from one.
2019-11-05 09:35:45 +01:00
Armin Novak
a5403448b6 Fixed review remarks. 2019-11-04 11:18:53 +01:00
Armin Novak
cebddbd65b Fix various compiler warnings for wfreerdp. 2019-09-03 15:11:18 +02:00
Armin Novak
12b0b9ea28 Do not use named events, they are global! 2019-09-02 15:28:31 +02:00
Armin Novak
53ee0fbc33 Added GUI/console switch for input callbacks. (disabled until AttachConsole + stdin work) 2019-08-29 19:28:50 +02:00
Armin Novak
1a322bb98b Added command line or dialog certificate handling. 2019-08-29 19:03:03 +02:00
Armin Novak
81c60631a9 Reattach to cmd if wfreerdp was started from one. 2019-08-29 13:47:53 +02:00
Armin Novak
d7ca2db62e Fixed doulbe semicolon in C files. 2019-05-08 12:58:01 +02:00
Ilya Shipitsin
7f97574501 client/Windows/wf_event.c: add missing "break" (#5293)
found by cppcheck

[client/Windows/wf_event.c:464] -> [client/Windows/wf_event.c:468]: (warning) Variable 'xNewPos' is reassigned a value before the old one has been used. 'break;' missing?
2019-03-04 09:17:10 +01:00
anbukart
b192171434 Embedded window local fix
Client width and height getting set as 0 when embedded using ParentWindowId setting
2019-02-21 11:03:52 +05:30
akallabeth
0a8ebcfcac
Merge pull request #5187 from astrand/mingw-part1
Mingw build fixes part1
2019-01-29 10:46:21 +01:00
akallabeth
7d226ca596
Merge pull request #5218 from ckelsel/master
May crash if GetCommandLineW failed
2019-01-25 12:19:56 +01:00
xie.kunming
b8c64b6bf3 May crash if GetCommandLineW failed 2019-01-25 17:54:25 +08:00
akallabeth
8ed0b92928
Merge pull request #5216 from ckelsel/master
change SetTimer elapse from 10 to USER_TIMER_MINIMUM
2019-01-25 10:01:30 +01:00
xie.kunming
84493d0039 If uElapse is less than USER_TIMER_MINIMUM (0x0000000A), the timeout is set to USER_TIMER_MINIMUM. 2019-01-25 16:45:52 +08:00
Armin Novak
087390b303 Refactored client clipboard function callbacks for const data pointers. 2019-01-23 16:55:13 +01:00
Peter Åstrand (astrand)
6619de070a freerdp_client_set_window_size should not be static
Avoid GCC error, since it is not static according to wf_client.h.
2019-01-09 09:54:31 +01:00
Peter Åstrand (astrand)
fcf59b9c4f Add msimg32 library through CMake
MinGW does not support libs through #pragma comments.
2019-01-09 09:52:27 +01:00
Peter Åstrand (astrand)
30cd1ba1ab Use lowercase for includes and libs
Makes build possible on case sensitive systems such as MinGW on Linux.
2019-01-09 09:36:28 +01:00
Ilya Shipitsin
4403448a77 client/Windows/wf_cliprdr.c: remove redundant check
found by cppcheck

[client/Windows/wf_cliprdr.c:2556] -> [client/Windows/wf_cliprdr.c:2561]: (warning) Identical condition '!clipboard', second condition is always false
2019-01-07 22:55:08 +05:00
kunming.xie
3ef6dd2f7c fix button_set_locked no return statement 2018-12-24 14:52:59 +08:00
Armin Novak
15011b478d Fixed variable hiding by not redeclaring it in subscope. 2018-12-10 14:31:38 +01:00
Armin Novak
9166df355b Fixed windows floatbar title. 2018-12-07 15:50:24 +01:00
Armin Novak
4fd8987f5d Unified windows client window title settings. 2018-12-07 15:22:28 +01:00
Armin Novak
6a9fa3dcbd Refactored floatbar, extended command line settings. 2018-12-07 15:22:28 +01:00
Don Caton
68c34d5ab0 Windows client: Suppress minimize and restore buttons in float bar when toggle-fullscreen is false, added window title to float bar, improved overall appearance with gradients, shadow and transparent icons.
# Conflicts:
#	client/Windows/wf_client.c
#	client/Windows/wf_event.c
#	client/Windows/wf_floatbar.c
2018-12-07 15:22:28 +01:00
Armin Novak
1398fa5b27 Fixed missing NULL check for thread handle. 2018-12-04 09:34:22 +01:00
Armin Novak
c5512de269 Fix #4999: Increase reference count 2018-12-04 09:34:22 +01:00
Armin Novak
edd6d49f23 Fix #4909: Do not initialize HOME environment variable as it is no longer used.
GetKnownPath does not require this environment variable to be
available for windows builds.
2018-11-29 13:44:21 +01:00
Armin Novak
7d89ea22d4 Unified initialization of OrderSupport
Added a library internal function freerdp_settings_set_default_order_support
which initializes the OrderSupport array of settings.
Now clients no longer need to set this up on their own, if they
do not implement their own hardware accelerated order processing.
2018-11-23 10:11:50 +01:00
Martin Fleisz
947aa80033
Merge pull request #5016 from akallabeth/windows_server_build_fix
Windows server build fix
2018-11-21 16:02:47 +01:00
Armin Novak
666ef4ab34 Fix #4864: Register pointer cache after PostConnect is called
With #4950 client side pointer implementation was made optional.
This addresses an issue that each client had to call
pointer_cache_register_callbacks on its own.
2018-11-20 09:49:39 +01:00
Armin Novak
a2cd934184 Fixed windows build warnings. 2018-11-15 09:01:53 +01:00
akallabeth
0b8a66188c
Merge pull request #4865 from mmattes/feature/floatbar
Feature/floatbar for X11
2018-09-25 16:34:20 +02:00
Armin Novak
897c0c72a7 Unified auto_reconnect functions for all clients. 2018-09-24 10:31:43 +02:00
Markus Mattes
21e4804a7f implemented floatbar for x11 2018-09-18 21:25:51 +02:00
Martin Fleisz
e00dd1974c wfreerdp: Increase buffer size for window title (#4731) 2018-09-10 15:26:44 +02:00
Armin Novak
fad20be6e6 Fixed missing includes. 2018-08-27 14:34:42 +02:00
Armin Novak
c3a26b0d6a Removed +async-transport options
The async transport option is broken by design.
If used the main loop is called from the transport thread and the
main thread of the application.
Unless the transport layer is refactored to just work on queues
(input and output) this option will never work, therefore remove it.
2018-08-22 13:56:37 +02:00
Eric Brown
ee87b98850 Fix issues found by build bot 2018-04-10 02:55:15 -05:00
Eric Brown
71c949f61a Fix Windows 10 cursors drawing as black 2018-04-09 13:59:42 -05:00
Armin Novak
d1fc0e92b5 Added additional mouse mappings. 2018-03-08 13:21:04 +01:00
Armin Novak
2517755d25 Fixed thread function return and parameters. 2018-03-07 14:36:55 +01:00
Eric Brown
e3adeb1059 Remove NULL check before _aligned_free call 2018-03-07 04:40:18 -06:00
Eric Brown
930ccb6b7b Fix memory leak of Decompress buffer in client wf_Bitmap_Free 2018-03-05 13:20:41 -06:00
Eric Brown
d8151c03df Remove unnecessary WM_SETCURSOR handling from wf_event_proc 2018-03-05 12:32:42 -06:00
Eric Brown
0c24ade668 Misc fixes for Windows clients 2018-03-02 12:42:04 -06:00
Eric Brown
4c099866e9 Support EmbeddedWindow in wf_resize_window 2018-03-02 12:39:59 -06:00
Armin Novak
990b8c23a9 Fixed PubSub function pointer casts. 2018-02-14 11:00:52 +01:00
David Fort
3b670703fb
Merge pull request #4277 from akallabeth/mac_server
Mac fixes
2017-12-12 10:40:14 +01:00
Armin Novak
57958cb178 Fixed #3810: Renamed color functions 2017-11-24 13:21:43 +01:00
Armin Novak
12a9b9a0b4 Fix #3890: Point to OpenSSL doc for private CA 2017-11-21 11:47:33 +01:00
Armin Novak
59df2688f9 Fix #3211: Return freerdp error from main. 2017-11-20 13:17:58 +01:00
cedrozor
b4b9ed6ce6 fixed hdc initialization into wf_begin_paint so the region invalidation into wf_end_paint applies to the same hdc
the objective is that only the updated region(s) are refreshed instead of the whole screen
it's not much a problem for normal FreeRDP usage but becomes a serious issue if the display is processed, forwarded and rendered remotely, as done by web gateways such as Guacamole, FreeRDP-WebConnect and Myrtille (I'm the author of the latter)
2017-10-27 14:30:00 +02: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
Armin Novak
3893058dc7 Added warning on GFX channel load that it does not support acceleration. 2017-07-19 09:54:42 +02:00
Armin Novak
61ab600c14 Always use software GFX for windows client. 2017-07-18 09:18:12 +02:00
Armin Novak
f8d22c00d6 Fixed compiler warnings and uninitialized data. 2017-02-17 11:17:45 +01:00
Ilya Shipitsin
52cb79a60b remove redundant assignment
[client/Windows/wf_cliprdr.c:575]: (warning) Redundant assignment of 'clipboard' to itself.
2017-01-30 15:09:36 +05:00
Ilya Shipitsin
12f5368819 make cppcheck even more happier:
[channels/tsmf/client/gstreamer/tsmf_X11.c:317] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:322]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
[channels/tsmf/client/gstreamer/tsmf_X11.c:470] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:475]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
[channels/tsmf/client/gstreamer/tsmf_X11.c:472] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:475]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
[channels/tsmf/client/tsmf_media.c:179] -> [channels/tsmf/client/tsmf_media.c:181]: (warning) Either the condition '!stream' is redundant or there is possible null pointer dereference: stream.
[client/Windows/wf_cliprdr.c:2219] -> [client/Windows/wf_cliprdr.c:2222]: (warning) Either the condition '!formatDataResponse' is redundant or there is possible null pointer dereference: formatDataResponse
[client/Windows/wf_cliprdr.c:2445] -> [client/Windows/wf_cliprdr.c:2448]: (warning) Either the condition '!fileContentsResponse' is redundant or there is possible null pointer dereference: fileContentsResponse.
[client/X11/xf_cliprdr.c:911] -> [client/X11/xf_cliprdr.c:913]: (warning) Either the condition '!clipboard' is redundant or there is possible null pointer dereference: clipboard.
[client/X11/xf_graphics.c:504] -> [client/X11/xf_graphics.c:506]: (warning) Either the condition '!xfc' is redundant or there is possible null pointer dereference: xfc.
[libfreerdp/core/transport.c:861] -> [libfreerdp/core/transport.c:863]: (warning) Either the condition '!transport' is redundant or there is possible null pointer dereference: transport.
[server/shadow/shadow_server.c:777] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:778] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:779] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:781] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:782] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:783] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:784] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:785] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:787] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:789] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
2017-01-26 14:44:19 +05:00
jcrespo-asg
d1ece92b95 windows fix: cliprdr_send_format_list format name 2017-01-11 14:29:48 +01:00
Alexander
519de295f6 Declared pointer.SetPosition to corrected crash if mouse pointer position changed programmatically 2017-01-06 14:27:23 +02: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
Martin Fleisz
7584c2c0da cmake: Query OUTPUT_NAME property for pdb name 2016-12-13 09:38:02 +01:00
Martin Fleisz
705c0cf923 cmake: Fix wrong pdb name 2016-12-12 13:12:41 +01:00
Martin Fleisz
055d0126ab client/win: Too many params in function call 2016-12-05 13:47:19 +01:00
Armin Novak
8ef1808191 Adjusted non X11 implementations. 2016-10-14 12:50:04 +02:00
Armin Novak
943e295714 WLog using C99 compatible variadic macros. 2016-10-07 14:05:27 +02:00
Armin Novak
649d270ccd Fixed GDI_RGN->null initialization. 2016-10-06 13:43:15 +02:00
Armin Novak
a4014b4182 Reformatted file. 2016-10-06 13:43:13 +02:00
Armin Novak
14ed7743ed Reformatted file. 2016-10-06 13:43:13 +02:00
Armin Novak
226ee437cb Reformatted file. 2016-10-06 13:43:13 +02:00
Armin Novak
6cd2a43cf4 Reformatted file. 2016-10-06 13:43:13 +02:00
Armin Novak
377b9551a6 Reformatted file. 2016-10-06 13:43:13 +02:00
Armin Novak
b320e3c10e windows fixes. 2016-10-06 13:43:10 +02:00
Armin Novak
22ddec810b Moved pre and post channel hooks. 2016-10-06 13:43:10 +02:00
Armin Novak
2e76529e5d Updated Order support. 2016-10-06 13:43:10 +02:00
Armin Novak
d35823cf69 Moved channel init code to core library. 2016-10-06 13:43:09 +02:00
Armin Novak
dadc5262ae Removed static channel variables.
Global static variables do not work, if more than one instance
of an RDP client is running in the same process space.
Removed the varaibles where possible and replaced them with
thread local storage where necessary.
2016-10-06 13:43:09 +02:00
Armin Novak
2e40c9c99d Windows GDI color decoding. 2016-10-06 13:43:09 +02:00
Armin Novak
90cd2a8a45 Fixed color pointer. 2016-10-06 13:43:06 +02:00
Armin Novak
fbdb00aa0c Simplified windows context. 2016-10-06 13:43:06 +02:00
Armin Novak
71a73068ec Reformatted client code. 2016-10-06 13:43:06 +02:00
Armin Novak
0b6c7a3df5 Fixed windows color cursor. 2016-10-06 13:43:05 +02:00
Armin Novak
d1a3362a8f Fixed windows software GDI issues. 2016-10-06 13:43:05 +02:00
Armin Novak
7818ca1250 Fixed windows compile. 2016-10-06 13:43:04 +02:00
Norbert Federa
882f593328 wfreerdp: fix invalid VerifyCertificate callback 2016-06-04 17:13:07 +02:00
zihao.jiang
e7d9e91864 channels/rdpgfx: Make freerdp_client_codecs_prepare calls codec reset. It fix broken h264 client from #3328. Also it doesn't make sense that we don't need width and height for codec initialization while we need them for codec reset 2016-05-30 02:00:05 +08:00
Bernhard Miklautz
1ea3d4d9b7 wfreerdp: fix name build without client interface
When built without client-interface the binary should be called wfreerdp
as well (currently it is wfreerdp-client)
2016-05-12 11:47:10 +02:00
Marc-André Moreau
915b9a15b1 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	winpr/libwinpr/bcrypt/CMakeLists.txt
2016-05-11 11:05:17 -04:00
Bernhard Miklautz
2c0e73b075 client: disable the client interface per default
libxfreerdp-client doesn't necessarily provide a stable interface
therefore it isn't built and installed anymore per default.

To archive the same behavior as before this change -
libxfreerdp-client.so built and a library version set - use
-DWITH_CLIENT_INTERFACE=ON -DCLIENT_INTERFACE_SHARED=ON
when running cmake.

This also fixes the build on windows without WITH_CLIENT_INTERFACE
enabled.
2016-05-09 12:20:38 +02:00
Marc-André Moreau
0d1553942e wfreerdp: fix Windows XP clipboard missing imports 2016-03-30 10:31:34 -04:00
Bernhard Miklautz
90b3bf4891 Merge pull request #3204 from akallabeth/rdp_file_preference_fix
Rdp file preference fix
2016-03-16 13:56:39 +01:00
Armin Novak
fb44b6880b Removed windows extra handling for RDP files. 2016-03-16 13:20:08 +01:00
Armin Novak
36cbf1b583 Fixed error handling for channel load failures. 2016-03-14 13:13:43 +01:00
Norbert Federa
ef4b29e5b3 ConvertFromUnicode fixes and misc hardening
- Added missing ConvertFromUnicode checks
- If ConvertToUnicode allocates memory, guarantee the null termination
  similar to ConvertFromUnicode's implementation
- Fixed some TestUnicodeConversion.c CTest return values
- Added some CTests for ConvertFromUnicode and ConvertToUnicode
- Misc code and protocol hardening fixes in the surrounding code regions
  that have been touched
2016-03-03 16:56:19 +01:00
Hardening
2a3e9996b3 Merge pull request #2710 from akallabeth/cert_temp_accept_v2
Extended certificate callbacks.
2016-02-15 13:52:47 +01:00
Armin Novak
8be7b25a22 Printing help on invalid command line again. 2016-02-09 09:36:00 +01:00
Armin Novak
d67614a3e6 Reading unicode from command line. 2016-02-08 14:36:31 +01:00
Armin Novak
cbf2892ccc Implemented temporary certificate accept.
Certificates can now be accepted temporarily.
The callbacks for certificate validation have been
modified to extend the information presented to the user.
2016-02-05 02:04:57 +01:00
Bernhard Miklautz
6fa3608111 cleanup cmake exports and pkg-config files
With this commit the "exported" components (usable with pkg-config and
cmake find module package)
* winpr - winpr library and headers
* freerdp - core library and headers
* freerdp-client - client specific library
* freerdp-server - server specific library
* rdtk - rdtk headers and library

To allow the installation of multiple different version (different major
number) the include files were moved into the respective sub folder:
freerdp -> freerdp{MAJOR}/freerdp (currently freerdp2/freerdp/)
winpr -> winpr{MAJOR}/winpr (currently winrp1/winpr/)
rdtk -> rdpk{MAJOR}/rdtk (currently rdtk0/rdtk/

The generated pkg-config and cmake find modules now also include the major
version number. Currently the following pkg-config are generated and
installed.
* winpr1
* freerdp2
* freerdp-server2
* freerdp-client2
* rdtk0

As cmake is able to handle multiple versions out of the box the
following can be used to find a specific module:

find_package(WinPR)
find_package(FreeRDP)
find_package(FreeRDP-Server)
find_package(FreeRDP-Client)
find_package(RdTk)

As cmake doesn't automatically resolve dependencies for packages it is
necessary to manually include the requirements. For example if
FreeRDP-Client is required WinPR and FreeRDP need to be included
(find_package) as well.

This commit also fixes the installation when STATIC_CHANNELS are built.
WITH STATIC_CHANNELS all channels are linked into libfreerdp-client, for
this all channels are generated as linker archive and linked together in
the final step. Before the intermediate linker archives were, although
not required and useful, installed. Same applies for server side
channels.
2016-01-12 17:32:33 +01:00
Armin Novak
6ed43cd6ec Updated pdb file locations.
Now supporting generators NMake and Visual Studio.
2015-12-15 12:08:35 +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
Armin Novak
b4dbe23d91 Fixed mixed declaration. 2015-10-27 10:44:32 +01:00
Armin Novak
57c90eacc6 Fixed clipboard format for directory copy. 2015-10-27 10:44:32 +01:00
Armin Novak
5de53096ed Fixed directory copy from remote to local. 2015-10-27 10:44:32 +01:00
Armin Novak
d5385471a5 Disabled file locking, added response checks. 2015-10-27 10:44:32 +01:00
Armin Novak
34191cdafc Fixed clipboard file transfer. 2015-10-27 10:44:32 +01:00
Marc-André Moreau
12ce635b34 libfreerdp-core: fix code style 2015-09-15 10:37:57 -04:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Martin Haimberger
2862109337 Merge remote-tracking branch 'upstream/master' into mh-channel-fix
Conflicts:
	channels/smartcard/client/smartcard_main.c
	channels/smartcard/client/smartcard_operations.c
2015-07-30 07:29:12 -07:00
MartinHaimberger
45f9519b58 Merge pull request #2723 from akallabeth/pwd_from_stdin
New /from-stdin
2015-07-15 14:12:13 +02: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
Armin Novak
8165031eb4 Fixed windows client pre_connect return. 2015-06-26 13:13:32 +02:00
Armin Novak
dd19e22dc0 Fixed missing colon. 2015-06-23 16:53:40 +02:00
Armin Novak
e793300ccc Fixed typo. 2015-06-23 16:11:11 +02:00
Armin Novak
5a5ed77c57 Added /from-stdin 2015-06-23 14:59:54 +02:00
Bernhard Miklautz
af81a91ea7 windows: fix compilation and warnings 2015-06-22 19:31:25 +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
Armin Novak
a7943a53cd Setting hostname as default domain now. 2015-06-18 16:07:25 +02:00
Armin Novak
e563b2b62e Fixed domain setting for windows client. 2015-06-18 13:01:28 +02:00
Martin Haimberger
6e4e1c2773 Merge remote-tracking branch 'upstream/master' into mh-stream-fix
Conflicts:
	client/Windows/wf_cliprdr.c
2015-06-18 03:06:40 -07:00
Martin Haimberger
d7636d0e28 channel rail hardend 2015-06-18 03:04:32 -07:00
Martin Haimberger
e5d5cd3c94 hardend cliprdr
hardend cliprdr server and client
also updated all callbacks in the server and client
implementations
2015-06-18 03:04:31 -07:00
Norbert Federa
87683ec87b client/windows: invalid usage of S_FALSE HRESULT
S_FALSE is a success code and not an error (note the S_)
2015-06-03 16:06:01 +02:00
Norbert Federa
77769f10b6 winpr: fixed HRESULT & SCODE types, added a ctest
- HRESULT was unsigned which means that until now all usages of the
  SUCCEDED(hr) and FAILED(hr) macros never detected any errors
- Also fixed the (unused) SCODE typedef
- Added new ctest TestTypes
2015-06-02 19:52:52 +02:00
David FORT
12f873f1f9 Fixed MessageQueue and callers 2015-05-29 14:24:14 +02:00
Marc-André Moreau
5526348079 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-05-21 13:29:59 -04: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
Hardening
f8120919af Add checks for some XXX_New and XXX_Add functions
Based on PR #2616
2015-05-18 11:28:00 +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
Marc-André Moreau
30dd40e10a wfreerdp: fix and improve remote assistance 2015-05-07 14:20:49 -04: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
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
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
d3336340ba Add *get_event_handles handle count, return check. 2015-04-21 12:24:50 +02:00
Marc-André Moreau
4faf8010b7 Merge pull request #2478 from akallabeth/win_sw_gdi_fix
Fixed resize for software GDI.
2015-03-19 09:35:31 -04:00
Armin Novak
f3d6a791e7 Fixed resize for software GDI. 2015-03-17 13:03:16 +01:00
Marc-André Moreau
c21bff5415 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-03-16 08:01:54 -04:00
Armin Novak
c380fb3520 Added flag to ignore unknown keywords
freerdp_client_settings_parse_command_line now allows ignoring
unknown keywords.
2015-03-16 10:15:37 +01:00
Marc-André Moreau
afdd55fa81 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-03-13 15:30:31 -04:00
Zhang Zhaolong
5b2a8ee873 wr_cliprdr: fix uninitialized variable
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-13 10:32:21 +08:00
Zhang Zhaolong
7016847e3b wf_cliprdr: fix potential memory leak.
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 16:37:28 +08:00
Zhang Zhaolong
3754cfad34 wf_cliprdr: fix incorrect usage of realloc.
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 11:27:39 +08:00
Denis Vincent
baab23fd14 libfreerdp-core: Make tsg out channel recycling event driven 2015-02-24 15:34:41 -05:00
Marc-André Moreau
3a906caa4a freerdp: add event handle usage instead of file descriptors 2015-01-29 22:57:58 -05:00
Norbert Federa
bd345ed416 build/win32: fix static build
version.rc must only be included in client executable
2015-01-20 16:23:05 +01:00
Armin Novak
a3c8dec121 Prettiefied WLog messages. 2015-01-20 11:26:08 +01:00
Armin Novak
a7eb657db2 Using freerdp_channels_disconnect now. 2015-01-20 11:26:00 +01: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
Armin Novak
8d4589b1e1 Replaced fprintf error messages with WLog. 2014-11-16 12:21:38 +01:00
Hardening
7b108f1aa8 Merge pull request #2141 from zhangzl2013/polyline
fix polyline.
2014-10-31 22:15:13 +01: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
Martin Fleisz
d58c6de93c Merge pull request #2134 from akallabeth/windows_version_information
Windows version information
2014-10-31 12:23:11 +01:00
Marc-André Moreau
8942631947 wfreerdp: add RAIL window update, partial input support 2014-10-24 19:46:02 -04:00
Marc-André Moreau
55ea4caf11 wfreerdp: partial RemoteApp support 2014-10-24 18:30:04 -04:00
Marc-André Moreau
5df3e2368d wfreerdp: stub RemoteApp callbacks 2014-10-24 11:30:04 -04:00
Marc-André Moreau
ddeffce2db wfreerdp: eliminate dependency on deprecated freerdp event system 2014-10-24 10:30:54 -04:00
Marc-André Moreau
295123e7d5 wfreerdp: fix cliprdr with callback interface 2014-10-24 10:16:55 -04:00
Marc-André Moreau
2d612b332e wfreerdp: partially migrate cliprdr to callback interface 2014-10-24 09:55:48 -04:00
Marc-André Moreau
f76f8e3599 channels/cliprdr: add missing callbacks and message definitions 2014-10-23 18:17:53 -04:00
Marc-André Moreau
1c7ed224b6 wfreerdp: start preparing cliprdr code for migration to cliprdr callback interface 2014-10-23 15:38:19 -04:00
Marc-André Moreau
3d0f9e8e89 wfreerdp: consolidate cliprdr code 2014-10-23 13:11:20 -04:00
Marc-André Moreau
ce7302a999 wfreerdp: cleanup clipboard 2014-10-22 22:32:55 -04: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
Zhang Zhaolong
3de5c62bf3 fix polyline. 2014-10-09 18:11:38 +08:00
erbth
58c392e72e Added lock key synchronization to wfreerdp 2014-10-03 16:27:47 +02:00
Armin Novak
5364a834c4 Added windows version information to build. 2014-10-03 15:17:40 +02:00
Marc-André Moreau
2a5192b027 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	client/Windows/wf_cliprdr.h
	client/Windows/wf_event.h
	client/X11/xf_client.c
	client/X11/xf_gdi.c
	libfreerdp/gdi/gdi.c
	server/Mac/mf_input.c
2014-09-17 19:09:56 -04:00
Marc-André Moreau
73471eb1f0 libfreerdp-gdi: fix 8bpp mode 2014-09-17 18:30:09 -04:00
Armin Novak
059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Marc-André Moreau
1b7a84419c xfreerdp: partial fix for X11 16bpp mode 2014-09-16 19:12:26 -04:00
Armin Novak
f37a69e665 Decreased logging verbosity. 2014-09-15 19:48:57 +02:00
Armin Novak
06b609062d Removed remaining printf and DEBUG_* usages. 2014-09-15 09:01:05 +02:00
Armin Novak
7913a57bc5 Using wlog for logging in clients now. 2014-09-15 08:55:00 +02:00
Marc-André Moreau
342d37aea0 wfreerdp: add RDP8 graphics pipeline support 2014-09-12 16:30:57 -04:00
Marc-André Moreau
f693ff42d7 Merge pull request #2097 from awakecoding/egfx
GDI Bitmap Update Optimization
2014-09-12 15:12:52 -04:00
Marc-André Moreau
ff2df7489d wfreerdp: fix gdi usage 2014-09-12 11:34:30 -04:00
Marc-André Moreau
f5ff6e1bd8 Merge pull request #2095 from bmiklautz/feat/byemonolithic
Remove non-monolithic builds of libfreerdp
2014-09-11 18:46:32 -04: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
7e4b3b13b1 Merge pull request #2091 from ptsekov/software-gdi-improvements
Fix #2090
2014-09-11 13:52:16 -04:00
Pavel Tsekov
7b6ed458d4 Do not invert fb data when rendering with freerdp's engine.
* client/Windows/wf_interface.c (wf_post_connect): Do not pass
`CLRCONV_INVERT' to gdi_init().
2014-09-11 17:00:12 +03:00
Pavel Tsekov
55955f5309 Fix missing output when using freerdp's rendering
engine
* client/Windows/wf_interface.c (wf_post_connect): Properly initialize
freerdp's GDI subsystem when using freerdp's rendering engine.
2014-09-11 16:51:44 +03:00
Pavel Tsekov
9be7293bac Fix #2090
* client/Windows/wf_graphics.c (wf_register_graphics): Do not register
custom bitmap handler when using freerdp's own GDI implementation.
2014-09-11 16:40:10 +03:00
Marc-André Moreau
89e5fef11f wfreerdp: fix build on Windows 2014-09-10 11:38:38 -04:00
Marc-André Moreau
c71e4e18a1 libfreerdp-core: refactor codec context management 2014-09-10 00:42:41 -04:00