Commit Graph

2650 Commits

Author SHA1 Message Date
Armin Novak
059c754b0d Fixed double free. 2016-03-16 12:39:36 +01:00
Marc-André Moreau
9211f44e46 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2016-03-15 20:19:15 -04:00
Martin Fleisz
b2d24a4dd2 freerdp: Fix possible crash when setting error info in server-mode 2016-03-14 15:27:15 +01:00
Armin Novak
2dbc1a0b87 Reverted WTS API changes. 2016-03-14 13:19:08 +01:00
Armin Novak
d06723e297 Fixed return value for failed malloc. 2016-03-14 13:13:43 +01:00
Armin Novak
36cbf1b583 Fixed error handling for channel load failures. 2016-03-14 13:13:43 +01:00
Marc-André Moreau
3cbd7c08f7 freerdp: fix freerdp_connect possible incorrect status code 2016-03-11 14:42:16 -05:00
Martin Fleisz
66ae3f2c77 Merge pull request #3177 from akallabeth/codec_reset_fix
Fixed codec reset, now resetting resolution too.
2016-03-11 11:22:59 +01:00
David FORT
b3c0478305 Don't require HOME env var to be set for server-side code 2016-03-09 14:10:31 +01:00
Armin Novak
2208a84cd4 Moved assistance to winpr crypto. 2016-03-07 11:51:13 +01:00
Norbert Federa
de4adeff0e fix logon info processing
since there have been reports that certain windows versions send
zero values in the cbDomain field of the Logon Info Version 2
(TS_LOGON_INFO_VERSION_2) struct we allow zero values for cbUserName
and cbDomain in rdp_recv_logon_info_v1 and rdp_recv_logon_info_v2.
2016-03-04 00:45:26 +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
David FORT
f5ce5e72dd Fix parsing of saveSessionInfo PDU
This should fix the case when no username is sent (issue #3186).
2016-03-03 11:45:12 +01:00
Armin Novak
7dcba9a663 Removed additional '\0' from TUNNEL_AUTH message. 2016-03-03 09:11:28 +01:00
Armin Novak
5bb68a0b39 Fixed broken resource cleanup. 2016-03-02 14:46:33 +01:00
Armin Novak
8997c6c03a Added log messages for unsupported surface commands. 2016-03-02 14:46:33 +01:00
Armin Novak
2e110c7f35 Fixed codec reset, now resetting resolution too.
H264 and others require the surface resolution to work properly.
This initializes the codecs and the resolution on reset.
2016-03-02 14:46:33 +01:00
Bernhard Miklautz
e02af8287e Merge pull request #3160 from akallabeth/stream_fixes
Stream fixes
2016-03-01 16:44:19 +01:00
Armin Novak
e7814d5855 Fixed stream API for Stream_Copy. 2016-03-01 12:57:48 +01:00
Bernhard Miklautz
014f31db35 Merge pull request #3171 from akallabeth/crypto_simplification
Crypto simplification
2016-02-29 17:10:53 +01:00
Bernhard Miklautz
25506348d0 Merge pull request #3168 from akallabeth/visibility_fixes
Fixed default visibility.
2016-02-29 16:59:58 +01:00
Armin Novak
46fa7ec481 Fixed invalid stream copy length. 2016-02-29 12:51:54 +01:00
Armin Novak
b429d230cb Refactored crypto *_New functions. 2016-02-29 09:00:02 +01:00
Armin Novak
92c15783dc Updated RC4 API, fixed crashing bug. 2016-02-28 11:19:29 +01:00
Armin Novak
238ff3b315 Unified encryption functions. 2016-02-27 23:28:49 +01:00
Armin Novak
5805ba8e52 Removed crypto_nonce. 2016-02-27 22:40:43 +01:00
Armin Novak
1036f1e296 Fixed default visibility.
When nothing is declared, only export symbols defined
with WINPR_API or FREERDP_API defined.
Override this setting if BUILD_TESTING to allow tests
access to internal functions usually not exposed.
2016-02-26 19:44:14 +01:00
Armin Novak
dccf40c2bc Fixed duplicate loading of smartcard and printers. 2016-02-26 15:21:11 +01:00
Martin Fleisz
4f22682ed2 Merge pull request #3151 from akallabeth/timezone_refactor
Timezone refactor
2016-02-26 09:57:35 +01:00
Hardening
4217262680 Merge pull request #3156 from akallabeth/ssl_wrapper_merge
Ssl wrapper merge
2016-02-26 09:52:43 +01:00
Armin Novak
fe8f5dee82 Fixed indentation. 2016-02-26 09:32:17 +01:00
Armin Novak
7a253bae42 Replaced magic numbers with defines. 2016-02-26 09:27:53 +01:00
Armin Novak
e79eee2bb1 Fixed Stream API misuse. 2016-02-25 20:01:12 +01:00
Armin Novak
b61ab5ecb7 Fixed stream copy in update_message_SurfaceCommand 2016-02-25 19:37:20 +01:00
Bernhard Miklautz
8bdad1eb93 Merge pull request #3140 from hardening/printer_work
Misc changes
2016-02-25 16:57:34 +01:00
Armin Novak
fd415cd10a Fixed missing semicolon. 2016-02-25 09:02:46 +01:00
Armin Novak
f997421098 Unified hmac functions. 2016-02-24 21:50:08 +01:00
Armin Novak
4ca6b9bf10 Unified random functions and remaining MD5. 2016-02-24 20:41:01 +01:00
Armin Novak
95058c64d1 Fixed argument checks and return values. 2016-02-24 20:16:33 +01:00
Armin Novak
ada2b16c50 Unified RC4 functions. 2016-02-24 17:04:03 +01:00
Armin Novak
06da644007 Unified md5 functions. 2016-02-24 16:46:25 +01:00
Armin Novak
0e4ea3943a Unified sha1 functions. 2016-02-24 16:36:15 +01:00
Armin Novak
447ac23aee Refactored timezone functions. 2016-02-24 09:28:30 +01:00
akallabeth
7c5fcc9ee2 Merge pull request #3149 from bmiklautz/feb22
Misc fixes
2016-02-23 20:23:52 +01:00
Bernhard Miklautz
738f55a6a8 Merge pull request #3119 from akallabeth/abort_event_reset
Resetting abortEvent only on connect and reconnect.
2016-02-23 17:14:08 +01:00
Armin Novak
d28cb6ac6a Removed function call with invalid arguments. 2016-02-23 16:32:47 +01:00
Armin Novak
24c93e4de7 Resetting abortEvent only on connect and reconnect. 2016-02-23 16:32:47 +01:00
Bernhard Miklautz
dd93fd2b3d timezon: add support for tz package
Some distributions don't use /etc/localtime but /etc/TZ instead. If
/etc/localtime isn't find try this.

For details see #2818
2016-02-23 16:25:05 +01:00
Bernhard Miklautz
be02849ece tcp: set the timeout to 9s
Set the TCP_USER_TIMEOUT to 9s as suggested by @giox069.
See #3015 for details
2016-02-23 15:40:20 +01:00
volth
8b9c40248a Increase TCP_USER_TIMEOUT to avoid disconnections.
TCP_USER_TIMEOUT value is too small, it is only 4 seconds. 
That causes random disconnections reported in the bug report https://github.com/FreeRDP/FreeRDP/issues/2802
This patch should fix the bug report https://github.com/FreeRDP/FreeRDP/issues/2802
2016-02-23 15:40:20 +01:00
Bernhard Miklautz
e6f013eac7 fix spelling
replace occured with occurred
Fixes #3142
2016-02-22 17:01:43 +01:00
Giovanni Panozzo
1dea98026a Fix char signedness in glyph offset calculation, fixes #2137 2016-02-21 18:15:32 +01:00
David FORT
1b2b1c4ac1 Add support for saveSessionInfo PDU
This patch adds some callbacks so that the client can have access to the informations
stored in this packet. Server-side implementation is also there, so that a server
can send these informations to the client.
2016-02-18 14:19:36 +01:00
David FORT
a53cb8190b Added missing checks 2016-02-16 22:24:51 +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
Nathan Kidd
d68e58a9dc libfreerdp-codec: Make region16_rects() handle NULL nbRects
Now matches header documentation.  Also cleans up related doc grammar.
2016-02-12 10:11:51 -05:00
Hardening
cbd1ffa571 Merge pull request #3110 from akallabeth/mac_os_ssl_warning_fix
Mac os ssl warning fix
2016-02-11 22:21:33 +01:00
Armin Novak
f4568295e9 Fixed API for old openssl versions < 1.0.0 2016-02-05 11:52:07 +01:00
Armin Novak
0e2208e942 Fixed warning. 2016-02-05 02:04:57 +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
Armin Novak
16699000c4 Fixed allocation issue with common_name. 2016-02-05 02:04:00 +01:00
Martin Fleisz
56a0c4c336 Merge pull request #3097 from akallabeth/android_api_upgrade_v4
Android api upgrade and restructuring
2016-02-04 16:20:59 +01:00
Armin Novak
3b0f5b5b48 Removed obsolete APPLE preprocessor switch. 2016-02-04 12:55:11 +01:00
Armin Novak
1b3ac98582 rdp_print_errinfo now uses INFO log level. 2016-02-04 11:41:54 +01:00
Armin Novak
cdadb58f93 Function freerdp_set_error_info fix
The public function did not wrap rdp_set_error_info.
2016-02-04 11:40:42 +01:00
Armin Novak
ad36a5c10f Disconnect log message now uses debug level. 2016-02-04 11:39:57 +01:00
Christian Plattner
c0226d686c Enable support for SNI on client side 2016-02-04 08:34:51 +01:00
Armin Novak
10956f3179 Fixed constant definition. 2016-02-03 11:51:31 +01:00
Armin Novak
22f704c0a8 Fixed _socket error check. 2016-02-03 11:45:22 +01:00
Vic Lee
73f895fd55 gcc: assigned string must not be freed. 2016-02-03 13:34:58 +08:00
Armin Novak
9b0ef3a4ec Fixed stdint.h and stdbool.h detection. 2016-02-02 18:28:15 +01:00
Armin Novak
cd05ea7452 Fixed error checks for command line parser. 2016-02-01 15:18:34 +01:00
Bernhard Miklautz
8ec39039e5 Merge pull request #3076 from akallabeth/remove_fixed_size_heap_strings
Removed fixed size strings.
2016-02-01 13:02:38 +01:00
MartinHaimberger
e83f97b64a Merge pull request #3093 from hardening/last_write_checks
Check more Stream_EnsureCapacity results when writing capabilities
2016-01-28 15:26:04 +01:00
MartinHaimberger
83b706c4be Merge pull request #3092 from akallabeth/get_build_config
Added get_build_config functions.
2016-01-28 15:23:24 +01:00
David FORT
b6dd7bbb88 Check more Stream_EnsureCapacity results when writing capabilities 2016-01-28 15:12:26 +01:00
Hardening
a2aa56ee28 Merge pull request #3067 from akallabeth/reset_abort_event
Resetting abort event on freerdp_connect.
2016-01-28 14:28:51 +01:00
Armin Novak
035f127081 Added get_build_config functions. 2016-01-28 14:26:50 +01:00
Hardening
d458bc2e06 Merge pull request #3073 from davewheel/cert_key_in_memory
Allow to specify the raw content of crypto materials
2016-01-27 10:50:38 +01:00
Hardening
7af1ec85f0 Merge pull request #3083 from akallabeth/capability_set_fix
Fix #3081, set client string encoding.
2016-01-27 10:45:54 +01:00
Armin Novak
974d2ef433 Fix #3081, client string encoding. 2016-01-27 10:34:01 +01:00
Martin Fleisz
a9e4ba0118 Merge pull request #3069 from davewheel/4upstream-1
Improve monitor support
2016-01-27 10:18:30 +01:00
David FORT
708d0cb3c0 Check server and client capabilities
Most of the capabilities are sent by both the client and the server. But for some
the specs specify that they are only supposed to be only send by the server or the client.
This patch ensures this. Without this patch a malicious client can change server settings
and a malicious server can modify client settings.
2016-01-26 16:14:48 +01:00
Armin Novak
106479d6f2 Fixed clientNameLen initialization. 2016-01-26 09:34:22 +01:00
David FORT
137825ed9f Stream_EnsureCapacity return value aren't checked in capabilities_write 2016-01-25 19:11:35 +01:00
Giovanni Panozzo
c5a4ce7893 Improve error logging after calling some BIO_ functions 2016-01-23 11:39:38 +01:00
Armin Novak
73ec3d6aca Removed fixed size strings. 2016-01-21 15:45:21 +01:00
davewheel
d5b8585a39 Allow to specify the raw content of crypto materials
Sometime it's possible that your server application doesn't have access to files
(when running in a very restricted environment for example). This patch allows
to ship the private key and certificate as a string.

Sponsored by: Wheel Systems (http://www.wheelsystems.com)
2016-01-21 11:27:06 +01:00
davewheel
121a234866 Add better handling of monitors
This patch makes FreeRDP announce the support for monitor layout PDU. It also
adds support for servers to announce the monitors layout.
2016-01-20 16:56:04 +01:00
davewheel
ca9e908f3c Fix a security issue in monitors packet handling
The number of announced monitors was not checked, so if a client was announcing
a big number, it could override other fields in settings and more...
2016-01-20 16:56:04 +01:00
Armin Novak
5542fef75d Resetting abort event on freerdp_connect. 2016-01-18 10:08:12 +01:00
Armin Novak
93f3c060d2 Fixed memory overlap check. 2016-01-18 09:32:34 +01:00
Armin Novak
123cd523e0 Fixed SRCCOPY, using memmove now.
memcpy is not defined, if source and destination overlap.
2016-01-18 09:18:42 +01:00
Armin Novak
a0d6a1f77f Fixed memory leak. 2016-01-15 09:33:21 +01:00
Hardening
1210421b62 Merge pull request #3046 from bmiklautz/tls12
tls: enable tls 1+
2016-01-12 20:46:53 +01:00
Bernhard Miklautz
aa80f63b4a tls: enable tls 1+
Currently TLS version 1.0 is used implicitly by using the TLSv1_method.
To be able to also use TLS 1.1 and later use SSLv23_client_method
instead. To make sure SSLv2 or SSLv3 isn't used disable them.
2016-01-12 17:43:14 +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
Hardening
df81e842a5 Merge pull request #2932 from realjiangms/fix_gdi_brush
GDI: Fix usage of gdi_get_brush_pointer.
2015-12-18 10:50:51 +01:00
Bernhard Miklautz
97edeca204 Merge pull request #2874 from akallabeth/stdtypes
Using stdint.h and stdbool.h for type definitions
2015-12-17 16:37:54 +01:00
Hardening
b35d0aa8aa Merge pull request #2779 from RolKau/2779_ptrbtn
Send correct buttons when using a left-handed mouse
2015-12-17 00:04:53 +01:00
Bernhard Miklautz
d03b38765a Merge pull request #2816 from akallabeth/known_hosts_locking
Known hosts locking
2015-12-16 19:03:15 +01:00
Roland Kaufmann
600d3c5ccb Add option to disable pointer button mapping
In case the old behaviour of not reverse-mapping the mouse buttons is
desirable, a command-line option is added to disable the mapping. This
option is made experimental for the time being.

The default is to do the reverse mapping, as this is the intuitive
behaviour (the mouse then works as it would on the console).
2015-12-15 17:42:57 +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
Binyamin Sagal
23fea1615f Fix horizontal scrolling direction and capability detection 2015-12-14 21:48:31 +02:00
Armin Novak
a5db7117c8 Implemented horizontal wheel support.
Horizontal mouse wheel input capabilities are now checked
and if available mouse buttons 6 and 7 are mapped to the
horizontal wheel for the X11 client.
2015-12-14 18:29:23 +01:00
Bernhard Miklautz
7f7ef1a464 Merge pull request #2831 from akallabeth/gdi_fix
Fixed GDI_BITMAP, now using custom deallocation function.
2015-12-14 17:58:25 +01:00
Armin Novak
00b8d802d2 Fixed callback function return 2015-12-14 14:18:50 +01:00
Armin Novak
74c15a6309 Fixed freerdp_assistance_file_new argument declaration 2015-12-14 14:18:50 +01:00
Bernhard Miklautz
b02943ae98 Merge pull request #2928 from akallabeth/non_verbose_VerifyX509Certificate
Silenced VerifyX509Certificate logging.
2015-12-11 12:09:33 +01:00
Armin Novak
65062633c2 Fixed memory leak. 2015-12-10 13:57:05 +01:00
Armin Novak
df528cefc5 Using locking winpr file functions for known hosts. 2015-12-09 18:29:41 +01:00
Hardening
17a1127341 Merge pull request #2976 from akallabeth/mac_audin_support
Added audin support for mac os.
2015-12-09 14:56:56 +01:00
Hardening
57fe581b16 Merge pull request #2824 from bjcollins/nla_auth_exit_code
Return FREERDP_ERROR_AUTHENTICATION_FAILED on an authentication failure
2015-12-08 22:46:29 +01:00
Nito Martinez
2d5c78849e Fix formatting: else if in its own line and no brackets for single statements 2015-11-26 09:50:03 +01:00
Nito Martinez
89d8a68f4a Disable setting socket options for preexisting socket like: keepalive and tcp_nodelay, these should be set extenally if needed. Do not close the socket if the clientaddress could not be set 2015-11-25 08:36:49 +01:00
Nito Martinez
428cbd802d Fixes #2982. The idea is to be able to create the socket externally and pass that socket FD to FreeRDP so that it can be used there.
The idea suggested is to use the following interface:

settings->ServerHostname = "|"
settings->ServerPort = SocketFD
2015-11-20 02:44:35 +01:00
Armin Novak
f6e17ec65c Added audin support for mac os. 2015-11-12 16:10:39 +01:00
Hardening
be8f8f7238 Merge pull request #2970 from bmiklautz/prep_2.0
2.0 preparations
2015-11-11 12:54:34 +01:00
Hardening
bf147f71ba Merge pull request #2930 from dbungert/glyph
Clamp ultra-wide glyph opRight vals to desktop width
2015-11-10 10:12:21 +01:00
Bernhard Miklautz
0cdb4f7924 Fix compiler warnings
gcc (Debian 4.9.2-10) 4.9.2

winpr/libwinpr/thread/argv.c: In function ‘CommandLineToArgvA’:
winpr/libwinpr/thread/argv.c:94:6: warning: unused variable ‘index’ [-Wunused-variable]
  int index;

winpr/libwinpr/file/test/TestFileGetStdHandle.c: In function ‘TestFileGetStdHandle’:
winpr/libwinpr/file/test/TestFileGetStdHandle.c:44:2: warning: implicit
	declaration of function ‘CloseHandle’ [-Wimplicit-function-declaration]
  CloseHandle(stdout);
    ^
libfreerdp/codec/test/TestFreeRDPRegion.c: In function ‘test_norbert2_case’:
libfreerdp/codec/test/TestFreeRDPRegion.c:697:6: warning: unused variable ‘i’ [-Wunused-variable]
  int i;

channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_receive_format_list’:
channels/cliprdr/server/cliprdr_main.c:636:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
  CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
                        ^
channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_init’:
channels/cliprdr/server/cliprdr_main.c:1097:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
  CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
2015-11-09 19:26:34 +01:00
Bernhard Miklautz
d73c4898c1 Add build-config.h
build-config.h should contain configure/compile time settings that are
relevant for projects that use FreeRDP.

For example the compiled in plugin search paths.
2015-11-09 15:54:22 +01:00
Norbert Federa
0f1cedcbb8 codec/color: fix segfault in freerdp_image32_copy
Code path for dstBytesPerPixel == 3 moved src and dst pointers
beyond their respective buffers.
2015-11-03 12:05:47 +01:00
LookBehind
95fe9ecfab Fix rdp_recv_logon_error_info
As https://msdn.microsoft.com/en-us/library/cc240641.aspx says - first is going errorNotificationType then errorNotificationData.
2015-10-20 18:05:09 +04:00
Martin Fleisz
d0cda5a5c7 Merge pull request #2933 from realjiangms/fix_gdi_bitmap_update
GDI: Fix gdi_bitmap_update to check dest buffer size.
2015-10-20 08:44:52 +02:00
zihao.jiang
e8fb821be7 GDI: Fix gdi_bitmap_update to check dest buffer size. 2015-10-18 17:53:22 +08:00
zihao.jiang
83d58ccfe8 GDI: Fix usage of gdi_get_brush_pointer.
Currently we get color from brush according to the offset in the paint region.
According to MSDN https://msdn.microsoft.com/en-us/library/dd183396(v=vs.85).aspx, it should get color according to dest position instead of offset in paint region.
2015-10-17 02:49:45 +08:00
Armin Novak
75ae38dff2 Silenced VerifyX509Certificate logging.
Now only writing log entries if something was an actual
error, otherwise stay silent.
2015-10-16 11:04:42 +02:00
Daniel Bungert
32e2f81cc5 Clamp ultra-wide glyph opRight vals to desktop width 2015-10-14 14:16:19 -06:00
Marc-André Moreau
029cbf3aca libfreerdp-gdi: fix egfx multimon support 2015-10-13 15:50:39 -04:00
Marc-André Moreau
4ab373aced xfreerdp: fix multiple egfx context support in X11 GFX 2015-10-13 14:49:30 -04:00
Marc-André Moreau
863939fd58 Merge pull request #2919 from realjiangms/fix_allow_empty_password
Sec/NLA: Support passwordless (blank password) login with NLA.
2015-10-13 10:40:28 -04:00
Marc-André Moreau
87780a850d Merge branch 'master' of github.com:FreeRDP/FreeRDP into mbedtls 2015-10-09 15:58:50 -04:00
zihao.jiang
a7f4685c09 Sec/NLA: Support passwordless (blank password) login with NLA.
It was supported in freerdp 1.0.2 but not supported in lastest master.
We should take empty password if it is explicitly specified with /v option.
If a password is not specified, we could first try SAM file. If the user entry does not exist, prompt for password.
2015-10-10 01:48:41 +08:00
Sriram Raghunathan
1c1e215ed9 Remove warning: HANDLE event variable unused 2015-10-05 22:42:59 +05:30
David FORT
ff92a12ceb Fix a bug in region_union_rect()
When region_union_rect() was called with a rect that was above the region without
intersecting it, the first band was created too large. This patch fixes this and
add a unitary test.

All credits go to @nfedera that:
* found the bug;
* find a dataset to reproduce;
* code the unitary test;
* spotted a suspicious line that was the faulty one.
2015-09-30 21:14:43 +02:00
Samuel Sieb
812e14af04 Don't fail the redirect if padding wasn't sent before disconnecting 2015-09-24 10:37:21 -07:00
Hardening
62da9d28c6 Merge pull request #2899 from awakecoding/master
Standard RDP security server redirection fix
2015-09-21 23:42:32 +02:00
Marc-André Moreau
a91506161d libfreerdp-core: fix redirection with standard RDP security 2015-09-21 15:36:19 -04:00
Marc-André Moreau
d1cb3410de Merge pull request #2896 from awakecoding/master
Win32 Gateway Fix, iOS TCP connection infinite loop fix
2015-09-18 11:57:01 -04:00
Marc-André Moreau
9c35b73fb6 libfreerdp-core: fix gateway connectivity on Windows 2015-09-17 14:32:40 -04:00
Martin Fleisz
affe82cae8 Merge pull request #2890 from realjiangms/shadow_fix_memory_leak
server: Fix several memory leak found while running valgrind on freerdp-shadow
2015-09-17 10:33:43 +02:00
zihao.jiang
f21749ac07 server: Fix several memory leak while running valgrind on freerdp-shadow 2015-09-17 01:02:22 +08:00
Marc-André Moreau
48c7a8dc1d Merge pull request #2889 from dvincent-devolutions/gateway
Fix RDP8 gateway disconnections
2015-09-16 10:41:07 -04:00
Denis Vincent
3ea0fe0c01 Small corrections to BIO implementation. 2015-09-16 09:54:03 -04:00
Marc-André Moreau
8e3baed882 cmake: add mbed TLS detection 2015-09-15 20:52:46 -04:00
Marc-André Moreau
c0a887da17 libfreerdp-crypto: add locking of operations dealing with SSL* 2015-09-15 19:59:41 -04:00
bjcollins
ee3b39d70f Remove unnecessary variable to keep track of nlaFailure, instead just set the NLA authentication error in the callback
where it is detected.
2015-09-15 14:17:13 -05:00
bjcollins
be47c6f782 Remove unused functions from initial code to handle NLA authentication failures. 2015-09-15 14:07:14 -05:00
bjcollins
7fbc7e45a7 Clean up NLA authentication failure handling code
1. Make use of freerdp_set_last_error to set authentication failure without the helper functions
2. Rename ssl callback function
3. Break out AuthenticationOnly exit handling from bad connect handling
2015-09-15 14:07:14 -05:00
bjcollins
32a1406dc4 Return FREERDP_ERROR_AUTHENTICATION_FAILED on an authentication failure
when using NLA with xfreerdp.
2015-09-15 14:07:14 -05:00
Marc-André Moreau
3f2915eb78 libfreerdp-core: alternative RDG BIO fix 2015-09-15 13:03:11 -04:00
Marc-André Moreau
12ce635b34 libfreerdp-core: fix code style 2015-09-15 10:37:57 -04:00
MartinHaimberger
2b2af6c9ea Merge pull request #2886 from clangm/master
Fix Network Characteristics Autodetect [RDPBCGR 2.2.14]
2015-09-15 15:16:37 +02:00
Denis Vincent
6d55635ed0 libfreerdp-core: Gateway RDP8 BIO correction. Fixes connection losses. 2015-09-15 09:03:39 -04:00
MartinHaimberger
db2ce49a98 Merge pull request #2763 from akallabeth/nla_null_auth
Fixed server and client NLA state machine for NULL identity.
2015-09-15 14:53:55 +02:00
MartinHaimberger
d4d360f6a4 Merge pull request #2859 from akallabeth/resource_leak_fix
Fixes API misuse and logic errors
2015-09-15 14:45:42 +02:00
clangm
ac089f8a3f Removed if statement that was causing network characteristics autodetect to not work 2015-09-11 15:01:31 -06:00
Bernhard Miklautz
4626f17cf2 Merge pull request #2868 from nfedera/fix-inverted-pointer-colors
improve handling of inverted pointer colors
2015-09-07 11:42:07 +02:00
MartinHaimberger
d971116457 Merge pull request #2765 from akallabeth/connect_abort
Connect abort and unified TCP connect
2015-09-07 10:05:24 +02:00
Armin Novak
4d77f2a4c8 Fixed CreateProcess argument initialisation. 2015-09-05 18:55:08 +02:00
Armin Novak
91d318ba7b Enable RFX for test connection, now required by sample server. 2015-09-05 17:00:27 +02:00
Armin Novak
f7a11a0ed8 Resetting abortEvent on disconnect to avoid race during connect. 2015-09-05 16:26:46 +02:00
Armin Novak
01496f474f Fixed error handling for rdp_client_connect fail. 2015-09-05 16:26:29 +02:00
Armin Novak
7d8ab23877 WSAEvent fixes ported from realjiangms pull 2870. 2015-09-05 15:18:01 +02:00
Armin Novak
188fe4ed2b Removed rdp disconnect, using unified abortEvent instead. 2015-09-05 14:57:30 +02:00
Norbert Federa
1791d42a5d improve handling of inverted pointer colors 2015-09-03 16:50:41 +02:00
Norbert Federa
72d901454c Merge pull request #2865 from akallabeth/h264_ignore_errors
[H264] ignore decoder errors
2015-09-03 14:42:36 +02:00
Armin Novak
3b8043264f Resetting channel error on connect. 2015-09-03 13:46:17 +02:00
Armin Novak
551eca246b Ignoring H264 decompression failures.
When connecting to windows 8.1 machines the remote RDP server
implementation sometimes sends invalid H264 data. To avoid client
disconnections ignore the broken updates.
2015-09-03 12:11:15 +02:00
MartinHaimberger
74817efbdb Merge pull request #2852 from bmiklautz/process_env
Update CreateProcess and rfx
2015-09-02 10:09:11 +02:00
Armin Novak
08f61e60ca Fixed zero length allocation. 2015-09-01 12:25:44 +02:00
Norbert Federa
2d5e249eff Merge pull request #2825 from akallabeth/pointer_decoding_fix
Fixed color pointer decoding.
2015-09-01 11:09:42 +02:00
Armin Novak
89227b97f0 Ignore AND mask for 32 bit pointer. 2015-09-01 10:53:45 +02:00
Bernhard Miklautz
1f13781fe1 Merge pull request #2855 from akallabeth/memleak_fixes
Memleak fixes
2015-08-31 09:50:21 +02:00
Armin Novak
893e7a35a8 Fixed broken cleanup code. 2015-08-31 09:13:15 +02:00
Bernhard Miklautz
05c02da742 settings: update settings/help to match
* wallpaper was off but help said "default: on"
* compression is on but help said "default: off"

Fixes #2853
2015-08-28 11:09:38 +02:00
Armin Novak
dd9d66a3e6 Fixed NONNULL argument warnings. 2015-08-28 10:59:48 +02:00
Armin Novak
07bba9b623 Fixed NONNULL argument warnings. 2015-08-28 10:58:20 +02:00
Armin Novak
a8cd9e0138 Fixed resource leak. 2015-08-28 10:53:43 +02:00
Bernhard Miklautz
c0d1f5bac1 codec/rfx: update comment and remove WLog_ERR
With revision 17.0 of [MS-RDPRFX] the behavior when numRects == 0 is
documented.
This commit updates the comment and removes the error logging.
2015-08-28 10:36:56 +02:00
Marc-André Moreau
f7ea8d1832 Merge pull request #2829 from akallabeth/mf_compile_option
media foundation support now a compile time option.
2015-08-27 10:00:47 -04:00
Armin Novak
c3a1f56f77 Resetting signals on freerdp_connect. 2015-08-27 15:53:37 +02:00
Armin Novak
fda56c0dbb Added missing NULL pointer checks. 2015-08-27 15:33:06 +02:00
Armin Novak
7ebf4879f0 Fixed uninitialised events. 2015-08-27 15:33:06 +02:00
Armin Novak
4cfd7a48cd Aborting transport layer now if requested. 2015-08-27 15:33:06 +02:00
Armin Novak
134a16d522 Fixed WSAEventSelect mode reset. 2015-08-27 15:33:06 +02:00
Armin Novak
1cbeb10074 Added unit test for freerdp_connect
* Tests connection to not existing host (timeout)
* Tests connection to not exising host with abort.
* Tests connection to sfreerdp-server on localhost.
2015-08-27 15:33:06 +02:00
Armin Novak
e6c23cb534 Implemented Async TCP connect with abort event
* Implemented unified freerdp_tcp_connect_timeout with connect abort.
* Implemented unified freerdp_tcp_connect_multi with connect abort.
* Added connect abort to freerdp_tcp_connect.
* Added freerdp_abort_connect and abortEvent.
2015-08-27 15:33:06 +02:00
Marc-André Moreau
223e0c7900 Merge pull request #2785 from MartinHaimberger/mh-channel-fix
Channel hardening and fixing
2015-08-27 09:24:10 -04:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Hardening
9101135e52 Merge pull request #2846 from llyzs/monitor
Read and write desktop and monitor data.
2015-08-27 11:42:45 +02:00
Vic Lee
6f639c1e34 gcc: read and write desktop scale settings in core data. 2015-08-27 16:19:40 +08:00
Armin Novak
dfa7ac6434 Ensure output of crypto_base64_decode is NULL terminated. 2015-08-27 09:34:33 +02:00
Vic Lee
8394d8c677 gcc: read and write monitor extended data. 2015-08-27 15:26:37 +08:00
Armin Novak
db3fa9a0d2 Added gdi_CreateBitmapEx function. 2015-08-26 12:14:46 +02:00
Martin Haimberger
420a86e1c7 Merge remote-tracking branch 'upstream/master' into mh-channel-fix
Conflicts:
	channels/drdynvc/client/drdynvc_main.c
	channels/rdpgfx/client/rdpgfx_main.c
	client/X11/xf_gfx.c
2015-08-25 00:07:04 -07:00
Armin Novak
e8554a51b8 Selecting correct bitmap in hdc now. 2015-08-12 12:53:35 +02:00
Armin Novak
8024a086cd Updated tests for new gdi_CreateBitmap API. 2015-08-12 11:15:07 +02:00
Armin Novak
253a60aaf3 Fixed GDI_BITMAP, now using custom deallocation function.
gdi_surface_bits: Now properly discarding old bitmap before creating a new one.
2015-08-12 11:01:05 +02:00