Commit Graph

3780 Commits

Author SHA1 Message Date
Armin Novak
16a7613194 Fixed zero sized allocation. 2018-11-29 12:11:33 +01:00
Bernhard Miklautz
1a33b3383c
Merge pull request #5070 from akallabeth/gw_fixes_redirection
Fixed buffer reset in fields_present_to_string
2018-11-29 11:10:14 +00:00
Armin Novak
2e019b2fd1 Implemented GFX locking and enforce return value checks.
To fix #4825 GFX functions must now aquire a lock before accessing surfaces.
This prevents simultaneous update of internal data by client and gfx threads.
Also enforce return value checks, where not already done.
2018-11-29 11:55:27 +01:00
Armin Novak
c97d4eec67 Fixed uninitialized value. 2018-11-29 11:25:27 +01:00
Bernhard Miklautz
62d982b623
Merge pull request #5073 from akallabeth/trust_settings
Fix #4764: Second try, use X509_STORE_CTX_set_purpose
2018-11-29 09:50:12 +00:00
David Fort
7478a938aa
Merge pull request #5074 from akallabeth/ycbcr_padding_fix
Fixed padding of general_yCbCrToRGB_16s8u_P3AC4R* functions.
2018-11-29 10:02:28 +01:00
David Fort
e7a44bc437
Merge pull request #5057 from akallabeth/order_settings_init_generic
Unified initialization of OrderSupport
2018-11-28 17:46:18 +01:00
Armin Novak
f3e1ffb121 Fix #4764: Second try, use X509_STORE_CTX_set_purpose 2018-11-28 12:08:42 +01:00
Armin Novak
98bc4358e0 Fixed padding of general_yCbCrToRGB_16s8u_P3AC4R* functions. 2018-11-28 11:05:45 +01:00
Armin Novak
263cc74580 Fixed buffer reset in fields_present_to_string 2018-11-26 14:11:29 +01:00
Bernhard Miklautz
657087e3a8
Merge pull request #5066 from akallabeth/ssl_verify_fix
Fix #4768: Set SSL verify purpose to ANY
2018-11-26 13:01:00 +00:00
Bernhard Miklautz
52d1b35a63
Merge pull request #5046 from akallabeth/silence_wlog
Do not compile extended debugging by default.
2018-11-26 11:10:59 +00:00
Bernhard Miklautz
e06ed191ac
Merge pull request #5067 from akallabeth/gfx_log_fix
Fixed error log for avc420_decompress failures.
2018-11-26 11:03:42 +00:00
Armin Novak
77744200a8 Fix #4768: Set SSL verify purpose to ANY
Should actually be SSL server but since we allowed broken
purpose up until now keep that for the 2.0 series.
2018-11-26 11:58:29 +01:00
Bernhard Miklautz
0b8010f8d6
Merge pull request #5065 from akallabeth/tcp_connect_multi_fix
Fixed a possible NULL dereference.
2018-11-26 10:57:20 +00:00
Armin Novak
d06c3980a0 Fixed error log for avc420_decompress failures. 2018-11-26 11:33:23 +01:00
Armin Novak
0d8a1e1083 Fix #5061: Initialize output buffer transparent. 2018-11-23 10:57:17 +01:00
Armin Novak
5623a4761f Fixed a possible NULL dereference. 2018-11-23 10:32:52 +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
Armin Novak
391528f40a Fixed a broken length check in rdg_process_packet
HTTP gateway connections aborted due to this.
Additionally add more verbose error logging in RDG.
2018-11-23 09:45:09 +01:00
akallabeth
effa8b8562 Fix #5049: Libressl declares OPENSSL_VERSION_NUMBER too high
Need to check specifically for LIBRESSL_VERSION_NUMBER as they
set the version higher than OpenSSL 1.1 but without API support.
2018-11-22 19:10:05 +01:00
akallabeth
d0d414dfa0 Fix #5059: Changed return type of peer_free to void. 2018-11-22 19:08:25 +01:00
Martin Fleisz
6c97d318ec
Merge pull request #5022 from akallabeth/gw_rdg_error_mapping
Improved error mapping and tightened checks in rdg_process_packet
2018-11-22 15:10:58 +01:00
Armin Novak
3110b5f5c5 Simplified string empty check. 2018-11-22 14:29:22 +01:00
Armin Novak
7ba34962e6 Removed duplcate NULL checks. 2018-11-22 11:21:57 +01:00
Armin Novak
f904d84638 Fixed freerdp_assistance_parse_address_list
* Return a proper error in case parsing fails.
* Don't duplicate string as we already operate on a duplicate.
2018-11-22 11:17:13 +01:00
Armin Novak
3f655db3c5 Fixed test_msrsc_incident_file_type1 return checks. 2018-11-22 11:16:43 +01:00
Armin Novak
59e9abc737 Fixed memory leak in reallocate. 2018-11-22 11:11:31 +01:00
Armin Novak
c8908c8be6 Updated windows shadow server assistance usage. 2018-11-22 11:11:31 +01:00
Armin Novak
8df39fdad4 Use blocking sockets in freerdp_tcp_connect_multi
The non blocking connect in freerdp_tcp_connect_multi did not
work reliably.
Fall back to blocking connect (which might take longer until the connection
is established) instead of not being able to connect at all.
2018-11-22 11:11:31 +01:00
Armin Novak
1ed436c8fc Fixed socket cleanup in connect multi. 2018-11-22 11:11:31 +01:00
Armin Novak
484ceaed34 Fixed assistance unit test. 2018-11-22 11:11:31 +01:00
Armin Novak
4b3f4cc2fc Fixed event check in freerdp_tcp_connect_multi 2018-11-22 11:11:31 +01:00
Armin Novak
e1555662d1 Set username from assistance file. 2018-11-22 11:11:31 +01:00
Armin Novak
35c1eac6ec Unified address parsing for assistance files. 2018-11-22 11:11:31 +01:00
Armin Novak
6de2129a90 assistance v2 support 2018-11-22 11:11:31 +01:00
Armin Novak
649f49fa61 Fix #5049: LibreSSL does not have SSL_CTX_set_security_level 2018-11-22 09:23:46 +01:00
David Fort
5e7ac925f5
Merge pull request #5045 from akallabeth/license_double_free_fix
Fixed double free in license_free_binary_blob
2018-11-21 16:03:18 +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
17bbe7a23f Do not compile extended authentication debugging by default. 2018-11-21 15:36:31 +01:00
Armin Novak
feb993b948 Fixed double free in license_free_binary_blob 2018-11-21 15:07:36 +01:00
Armin Novak
cdf1ee61f0 Proper field to string debug functions for each response in RDG 2018-11-21 14:37:38 +01:00
Armin Novak
a97bf21109 Fixed broken DEBUG_RDP log message. 2018-11-21 09:55:38 +01:00
Armin Novak
17c363a516 Fixed CVE-2018-8784
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
d1112c279b Fixed CVE-2018-8788
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
09b9d4f199 Fixed CVE-2018-8787
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
445a5a42c5 Fixed CVE-2018-8786
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
602f4a2e14 Fixed CVE-2018-8785
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Bernhard Miklautz
ef0c7e81a7
Merge pull request #4953 from akallabeth/region_signed
signed gdi regions to adjust negative coordinates
2018-11-20 10:07:30 +00: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
3e2caa88a4 Fixed invalid NULL check 2018-11-20 09:38:02 +01:00
Armin Novak
53fdea8455 Clip coordinates for lineTo and polyLine 2018-11-19 17:25:19 +01:00
Armin Novak
d75c464dbd Fixed signed/unsigned warnings. 2018-11-19 17:25:19 +01:00
Armin Novak
75d532f87c Fixed glyph cache bounds setting. 2018-11-19 13:58:53 +01:00
Armin Novak
e94ed7d762 Fixed gdi_BitBlt coordinate clipping. 2018-11-19 12:55:50 +01:00
Armin Novak
a078d8714e Fixed opaque rect bounding rectangle. 2018-11-19 12:55:50 +01:00
akallabeth
b6eca4fc54 signed gdi regions to adjust negative coordinates 2018-11-19 12:52:43 +01:00
Martin Fleisz
b216520d5b
Merge pull request #5021 from akallabeth/profiler_api_rework
Fixed profiler API
2018-11-19 10:20:52 +01:00
Bernhard Miklautz
b7354ce438
Merge pull request #4940 from akallabeth/check_window_order_support
Added checks for order type window support.
2018-11-19 09:15:14 +00:00
Christian Gall
fffe4f077a * remove obsolete SSLv23_client_method in tls_connect()
* set min TLS Version
2018-11-18 14:09:37 +00:00
Armin Novak
7839091f8b Skip redirection resolve test if we're connecting via gateway. 2018-11-16 15:48:10 +01:00
Armin Novak
870b7025b7 Improved error mapping and tightened checks in rdg_process_packet 2018-11-16 15:41:19 +01:00
Armin Novak
d2e1248b09 Fixed profiler API
* Duplicate the name internally to avoid issues with stack
* Made API opaque and removed direct dereferencing of struct.
2018-11-16 09:32:15 +01:00
Bernhard Miklautz
fe1a79759e
Merge pull request #5018 from hardening/windowpos
cmdline: add window-position argument to set initial window position
2018-11-15 16:46:57 +00:00
Bernhard Miklautz
010e3485cb
Merge pull request #4989 from akallabeth/dsp_encode_resample
Added resampling to freerdp_dsp_encode.
2018-11-15 15:54:56 +00:00
Bernhard Miklautz
d6dea852b3
Merge pull request #4976 from hardening/rfx_flush
remotefx: fix rlgr last bits of encoder
2018-11-15 15:25:25 +00:00
Bernhard Miklautz
b8cf70b13a
Merge pull request #4964 from akallabeth/rdg_fixes
Rdg/RPC and gateway fixes
2018-11-15 13:48:22 +00:00
David Fort
e118d14f6a cmdline: add window-position argument to set initial window position
This is useful if you want the window to be at a given position. The patch also mutualizes
the parsing of <xpos>x<ypos> or <width>x<height> arguments.
2018-11-15 14:40:03 +01:00
Armin Novak
4d7bece6ea Fixed order mask 2018-11-15 09:52:54 +01:00
Armin Novak
dd80a09781 Allow window orders with AllowUnanouncedOrdersFromServer 2018-11-15 09:52:54 +01:00
Armin Novak
c0b13cf43f Added checks for order type window support. 2018-11-15 09:52:50 +01:00
Bernhard Miklautz
d915491717
Merge pull request #5012 from akallabeth/rail_app_icons
Rail app icons
2018-11-15 08:50:56 +00:00
Armin Novak
a2cd934184 Fixed windows build warnings. 2018-11-15 09:01:53 +01:00
akallabeth
268a2c0cf8
Merge pull request #4979 from hardening/CAL
license: support CAL license
2018-11-14 13:45:31 +01:00
Armin Novak
e5197f529d Add soxr library and include paths. 2018-11-14 13:27:20 +01:00
Armin Novak
9766161f10 Added missing define guards. 2018-11-14 13:27:20 +01:00
Armin Novak
5b363e72aa Allow building without libsoxr support. 2018-11-14 13:27:20 +01:00
Armin Novak
6af56458ad Marked custom ADPCM codecs experimental. 2018-11-14 13:27:20 +01:00
Armin Novak
b362b61a1a Added libsoxr based resampling. 2018-11-14 13:27:20 +01:00
Armin Novak
ab15e34032 Refactored freerdp_dsp_resample, checks now done internally. 2018-11-14 13:27:20 +01:00
Armin Novak
60025dde8e Fixed unused function warnings when FFMPEG backend is used. 2018-11-14 13:27:20 +01:00
Armin Novak
e8e4800c5e Added resampling to freerdp_dsp_encode. 2018-11-14 13:27:20 +01:00
Armin Novak
98a537d05d Better description and formatting for update_read_icon_info 2018-11-14 11:57:57 +01:00
Armin Novak
7e12955c55 Made all internal functions static. 2018-11-14 11:57:57 +01:00
ilammy
7a2b6e1301 libfreerdp-core: fix reading TS_ICON_INFO
The spec says that CbColorTable field is present when Bpp is 1, 4, 8.
Actually, bpp == 2 is not supported by TS_ICON_INFO according to the
spec (though, DIB definitely supports 16-color images).

    MS-RDPERP 2.2.1.2.3 Icon Info (TS_ICON_INFO)

    CbColorTable (2 bytes):
        This field is ONLY present if the bits per pixel (Bpp)
        value is 1, 4, or 8.

Omitting 8-bit value breaks 256-color icons which are incorrectly
read with color and alpha data mixed up.
2018-11-14 10:53:45 +01:00
Armin Novak
138eb13fea Updated RDP_VERSION definitions. 2018-11-14 10:14:48 +01:00
Armin Novak
ecac998340 Fixed rdg bio cleanup.
When attaching the RDG BIO to the TLS BIO also transfer ownership.
2018-11-13 12:22:09 +01:00
Armin Novak
3c35a098f5 Fixed direct rdg front bio access. 2018-11-13 11:24:04 +01:00
Armin Novak
e070bbea8d Fixed leaks in rdg_send_channel_create 2018-11-13 11:22:37 +01:00
Armin Novak
342ff8cf0b Fixed broken server name packet size 2018-11-13 11:22:37 +01:00
Armin Novak
15a41586a8 Don't read content length in VIRTUAL_CONNECTION_STATE_OUT_CHANNEL_WAIT 2018-11-13 11:22:37 +01:00
Armin Novak
90d2e42600 Fixed ntlm_authenticate, split return from continue flag. 2018-11-13 11:22:37 +01:00
Armin Novak
4e0b4d7096 Fixed static INT_MAX checks, replaced with assert. 2018-11-13 11:22:37 +01:00
Armin Novak
398a33af63 Fixed all warnings in rdg module
Fix all missing range checks and warnings.
2018-11-13 11:22:37 +01:00
Armin Novak
9078b0deb9 Fixed extern declaration of rpc_bind p_uuid_t variables. 2018-11-13 11:22:37 +01:00
Armin Novak
b4fc0c75ce Made rdpRdp opaque 2018-11-13 11:22:37 +01:00
David Fort
b6e6575bf6 license: support CAL license
This patch simplifies the licensing code mutualizing encryption / decryption
routines. It also adds the support for client_info packet that allows to send a
previously saved CAL file.
2018-11-13 09:42:19 +01:00
Martin Fleisz
097ac0ee13
Merge pull request #4997 from akallabeth/use_bio_free_all
Replaced BIO_free with BIO_free_all
2018-11-12 13:55:36 +01:00
Bernhard Miklautz
c5c1bac31a
Merge pull request #4960 from akallabeth/interleaved_fix
Fixed #4954: Check destination buffer bounds.
2018-11-09 12:25:55 +00:00
Armin Novak
fff2454ae6 Make VS2010 happy, reworked UNROLL defines. 2018-11-09 12:18:51 +01:00
Armin Novak
6e61dd9d9f Unroll bBits loops as well. 2018-11-09 12:12:19 +01:00
Armin Novak
7e932bbfa2 Readded loop unrolling. 2018-11-09 11:32:28 +01:00
Armin Novak
cf8bc72dc4 Fixed profiler naming in tests. 2018-11-08 17:43:50 +01:00
Armin Novak
9e2c203771 Fixed various issues with freerdp_bitmap_compress and interleaved_compress 2018-11-08 17:21:28 +01:00
Armin Novak
c0c1d064be Added a unit test for interleaved codec compression. 2018-11-08 17:20:31 +01:00
Martin Fleisz
9400bdccdb
Merge pull request #4996 from bmiklautz/tls_security_level
new [crypto/tls]: add support to set tls security level
2018-11-08 15:33:40 +01:00
Armin Novak
5f4843191b Replaced BIO_free with BIO_free_all
There is no point in using BIO_free with a custom recursion
to free up stacked BIOs if there is already BIO_free_all.
Using it consistently avoids memory leaks due to stacked BIOs
not being recursively freed.
2018-11-08 12:09:49 +01:00
Bernhard Miklautz
1222e7060b new [crypto/tls]: add support to set tls security level
The newly introduced option /tls-seclevel can be used to set the tls
security level on systems with openssl >= 1.1.0 or libressl.
As default level 1 is used as higher levels might prohibit connections
to older systems.
2018-11-08 11:13:15 +01:00
Armin Novak
5eca5ebde8 Fixed #4993: Allow uninitialized bio socket in transport_bio_simple_uninit
When the TLS connection is aborted early (certificate issues, ...)
the bio simple socket might not have been initialized.
Do not access the NULL pointer on cleanup.
2018-11-07 17:02:07 +01:00
akallabeth
cf43406dc3
Merge pull request #4982 from bmiklautz/ctest_asan_fixes
Fix issues with multiple tests if address sanitation is on
2018-11-07 16:11:02 +01:00
Armin Novak
a544776bd8 Simplified code, moved bounds check out of loops. 2018-11-07 13:10:23 +01:00
Armin Novak
10d3ee131e Fixed #4954: Check destination buffer bounds. 2018-11-07 12:18:08 +01:00
Pascal J. Bourguignon
6f2caef778 Fix Issue #4983 : Increased size of buffer to encrypt hash with kerberos. 2018-11-06 11:20:02 +01:00
Bernhard Miklautz
37f8181735 fix [libfreerdp/codec]: heap buffer overflow in TestFreeRDPCodecClear
The examples and the allocated buffers assume that the destination
starts with x 0 and y 0 and not 1/1.
2018-11-05 15:43:12 +01:00
Bernhard Miklautz
649404dd29 fix [libfreerdp/crypto]: memory leak in Test_x509_cert_info 2018-11-05 13:46:05 +01:00
Bernhard Miklautz
aecc77cd77
Merge pull request #4969 from akallabeth/covscan_fix
Covscan fixes
2018-11-05 10:44:01 +00:00
David Fort
1a50a48332 fix uninitialised variable
Otherwise we can run in troubles when sending logon_info_v2 packets
2018-11-01 11:07:36 +01:00
David Fort
548025bcc3 nego: add new flags
Reading the new spec there's some new flags
2018-10-31 10:43:59 +01:00
David Fort
af195864e5 remotefx: fix rlgr last bits of encoder
The last bits of the bitstream were not flushed in the output, this patch fixes it.
2018-10-31 10:42:04 +01:00
Martin Fleisz
7b0f4f5dc4
Merge pull request #4907 from akallabeth/transport_write_leak_fix
Transport write leak fix
2018-10-29 14:54:55 +01:00
Armin Novak
423d54d752 Fixed signedness casts. 2018-10-25 14:08:20 +02:00
Armin Novak
6339c43c80 Fixed sockfd/socketBio resource leak. 2018-10-25 13:41:47 +02:00
Armin Novak
42014e80d0 Fixed sockfd/socketBio resource leak. 2018-10-25 13:38:31 +02:00
Armin Novak
f269a0ce5b Fixed sockfd/socketBio resource leak. 2018-10-25 13:19:45 +02:00
Armin Novak
847ee233f4 Fixed resource leak in rpc_ntlm_http_request 2018-10-25 12:49:42 +02:00
Armin Novak
987ca5ec6a Fixed another bunch of warnings. 2018-10-24 14:36:12 +02:00
Armin Novak
2a4b47aaac Changed size iterator variables to size_t 2018-10-24 13:24:25 +02:00
Armin Novak
6ccaafe2d9 Fixed default return value for fastpath_send_multiple_input_pdu 2018-10-23 12:33:13 +02:00
akallabeth
d3c1db1746
Merge pull request #4947 from akallabeth/http_gw_fix
Fixed http gateway body length read.
2018-10-23 12:03:03 +02:00
Armin Novak
900abb61f7 Fixed memory leak in update_recv_surfcmd_surface_bits 2018-10-22 14:41:59 +02:00
akallabeth
c251bdc11a
Merge pull request #4952 from eledoux/master
gateway HTTP transport - fixed partial reads
2018-10-19 17:13:21 +02:00
akallabeth
b8ff18f37f
Merge pull request #4951 from nfedera/nf-fix-fnobjnew-fnstylecasts
fix issue with fnObjectFree and related casts
2018-10-19 14:00:14 +02:00
Armin Novak
b9933e7af4 Read byte by byte, the alignment may otherwise be broken. 2018-10-19 12:52:14 +02:00
Armin Novak
5a747b118d Read http request in 4byte chunks until '\r\n\r\n' is found
Avoid reading too much data in a single call to BIO_read as some
implementations may return a lot more data than is part of the response.
2018-10-19 12:16:04 +02:00
Emmanuel Ledoux
33c7f6590a fixed partial reads 2018-10-19 11:56:56 +02:00
Armin Novak
d05684a50a Properly parse ContentType to find length. 2018-10-19 11:47:11 +02:00
Norbert Federa
0572572eb9 fix issue with fnObjectFree and related casts
- remove unnecessary/dangerous OBJECT_xxx function-style casts
- fix -Wstrict-prototypes issue with OBJECT_NEW_FN definition
2018-10-19 11:30:01 +02:00
Bernhard Miklautz
7290e3f2b0 fix [cache/pointer]: add missing callback checks 2018-10-19 11:13:21 +02:00
Bernhard Miklautz
e114ee44e4 new [cache/pointer]: don't require pointer functions to be set
This as cleanup/rework of PR #4581.
2018-10-19 10:14:24 +02:00
Armin Novak
7e397d0f1c Fixed http gateway body length read. 2018-10-19 09:31:55 +02:00
akallabeth
6f14018a22
Merge pull request #4945 from mmattes/fix/transferEncoding
transferEncoding can be NULL, correct if happens in line 348
2018-10-18 15:37:24 +02:00
Norbert Federa
850d2dbda9
Merge pull request #4942 from akallabeth/rail_fixes_2.0
Fix ORDER_TYPE_WINDOW reading
2018-10-18 14:11:18 +02:00
Norbert Federa
5ef243f91f
Merge pull request #4941 from nfedera/nf-remove-stale-valgrind-macro
gateway/rpc: remove stale valgrind macro
2018-10-18 14:08:23 +02:00
Markus Mattes
6d5b88cda6 transferEncoding can be NULL, verification happens in line 348 2018-10-18 13:59:49 +02:00
Armin Novak
5b70142ec4 Fixed read_altsec_order ORDER_TYPE_WINDOW 2018-10-18 12:34:10 +02:00
Armin Novak
8bdb5d771a Fixed order to string format string. 2018-10-18 12:33:06 +02:00
Norbert Federa
d201deede8 gateway/rpc: remove stale valgrind macro 2018-10-18 11:45:18 +02:00
Armin Novak
2e3832af94 Fixed TSG stream alignment (4 or 8) 2018-10-18 10:41:03 +02:00
Armin Novak
dc197d4dd1 Fixed tsg abort condition. 2018-10-18 10:15:51 +02:00
Armin Novak
88d310ff2c Fixed compiler warnings (casts, ...) 2018-10-18 09:09:30 +02:00