Commit Graph

2080 Commits

Author SHA1 Message Date
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
Martin Fleisz
54b96290c9 Merge branch 'fix_2036' of git://github.com/akallabeth/FreeRDP into akallabeth-fix_2036
Conflicts:
	libfreerdp/codec/test/TestFreeRDPCodecPlanar.c
	libfreerdp/codec/test/TestFreeRDPCodecProgressive.c
	libfreerdp/core/transport.c
	libfreerdp/primitives/test/TestPrimitivesYCbCr.c
2014-09-11 13:03:01 +02:00
Vic Lee
af57056228 transport: exit transport loop when the session is activated. 2014-09-11 14:04:32 -07:00
Marc-André Moreau
e1e8da9490 shadow: add ability to share rectangle within monitor 2014-09-10 16:27:24 -04:00
Marc-André Moreau
89e5fef11f wfreerdp: fix build on Windows 2014-09-10 11:38:38 -04:00
Armin Novak
f18a4b8252 Fixed winpr_HexDump calls in tests. 2014-09-10 08:48:49 +02:00
Marc-André Moreau
c71e4e18a1 libfreerdp-core: refactor codec context management 2014-09-10 00:42:41 -04:00
Marc-André Moreau
3d4fea7d8e libfreerdp-primitives: fix YUV420 color conversion matrix 2014-09-09 19:18:07 -04:00
Marc-André Moreau
bcf1266f51 libfreerdp-primitives: integrate H264 SSE3 color converter 2014-09-09 19:15:07 -04:00
Marc-André Moreau
666919d157 Merge branch 'egfx_new' of https://github.com/erbth/FreeRDP into egfx 2014-09-09 18:04:55 -04:00
Marc-André Moreau
5c5eedc85b libfreerdp-codec: allow error margin of 1 on YCbCr to RGB color decoding 2014-09-09 17:34:02 -04:00
Marc-André Moreau
372d4076d4 libfreerdp-codec: fix progressive decoding 2014-09-09 14:36:04 -04:00
Marc-André Moreau
1931dc546f Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx 2014-09-09 13:45:08 -04:00
Marc-André Moreau
12ca7b3391 libfreerdp-primitives: update YCbCr test code 2014-09-09 13:44:57 -04:00
Armin Novak
6762d73ae1 Fixed winpr_HexDump calls. 2014-09-09 16:33:05 +02:00
Armin Novak
b22b897389 Reformatted changed files. 2014-09-09 16:32:22 +02:00
Armin Novak
f8eae11bf3 Fixed calling of dump functions, updated API 2014-09-09 16:31:46 +02:00
erbth
2d6a59e34b added some commits, I didn't understand my own code anymore 2014-09-09 12:34:08 +02:00
erbth
7828725413 YUV data conversion of H.264 implementation (egfx):
only convert invalid areas
SIMD SSSE3 conversion in primitives
compiling all primitives sources with optimization

and cleanup after last merge
2014-09-09 00:13:18 +02:00
Marc-André Moreau
a427a46ba5 libfreerdp-primitives: start porting tests to Windows 2014-09-08 16:24:43 -04:00
Marc-André Moreau
81454c1171 libfreerdp-primitives: add more YCbCr test coefficients 2014-09-08 15:47:03 -04:00
Marc-André Moreau
e21202ee61 libfreerdp-primitives: add per-pixel YCbCr test code 2014-09-08 15:16:03 -04:00
Marc-André Moreau
cc16ddea2d libfreerdp-primitives: update YCbCr color converter 2014-09-08 12:28:35 -04:00
erbth
cbc8b3a7e1 Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx_new
Conflicts:
	channels/drdynvc/client/dvcman.c
	include/freerdp/codec/h264.h
	libfreerdp/codec/h264.c		after this merge h264 doesn't work anymore!!
	libfreerdp/utils/svc_plugin.c
2014-09-08 16:56:45 +02:00
erbth
fee370e4b2 YUV data conversion with SSSE3 using intrinsics 2014-09-08 16:29:01 +02:00
Marc-André Moreau
ad9092baf9 libfreerdp-codec: cleanup and restructure planar decompressor for chroma subsampling 2014-09-07 15:40:36 -04:00
Marc-André Moreau
5b8fb70e8c libfreerdp-codec: simplify and optimize planar raw rgb decoding 2014-09-07 14:08:29 -04:00
Marc-André Moreau
bd516e04fa libfreerdp-primitives: cleanup YCoCg 2014-09-06 21:13:37 -04:00
Marc-André Moreau
3203d37bdf libfreerdp-primitives: optimize YUV420p to RGB conversion 2014-09-06 20:15:40 -04:00
Marc-André Moreau
437583aa9a libfreerdp-primitives: add YUV420 to RGB conversion 2014-09-06 17:10:27 -04:00
Marc-André Moreau
73d121dd82 Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx 2014-09-05 20:17:05 -04:00
Marc-André Moreau
5f37e768f0 libfreerdp-codec: improve YUV to RGB color conversion 2014-09-05 20:16:56 -04:00
Marc-André Moreau
fe75405d5c libfreerdp-codec: fix build on Windows 2014-09-05 19:38:33 -04:00
Marc-André Moreau
f14b0e0195 libfreerdp-codec: cleanup h264 decoder 2014-09-05 19:11:03 -04:00
Marc-André Moreau
033e75467b Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-09-05 17:29:35 -04:00
Marc-André Moreau
66bbbf0519 libfreerdp-gdi: enable altsec frame markers 2014-09-05 16:06:19 -04:00
Marc-André Moreau
dc56ad7a0e Merge pull request #2055 from dbungert/initialize
Fix multiple cases of use of uninitialized vars
2014-09-05 14:51:43 -04:00
Marc-André Moreau
510a02ea94 libfreerdp-codec: improve progressive unit test 2014-09-04 16:52:41 -04:00
Marc-André Moreau
be60bddec0 libfreerdp-primitives: add YCbCr color converter test 2014-09-04 16:34:29 -04:00
Marc-André Moreau
ccb31efe63 libfreerdp-primitives: migrate tests to ctest 2014-09-04 15:46:20 -04:00
Marc-André Moreau
37aabc50d1 libfreerdp-codec: improve YCbCr to RGB color conversion 2014-09-04 13:09:46 -04:00
Marc-André Moreau
fd7b9669a5 libfreerdp-codec: improve progressive unit tests 2014-09-03 18:47:02 -04:00
Marc-André Moreau
320b1d35ed libwinpr-utils: centralize bitmap utils 2014-09-03 16:20:50 -04:00
Marc-André Moreau
1491c5a7f9 libfreerdp-codec: initial partial upgrade tile support 2014-09-02 19:25:01 -04:00
Marc-André Moreau
f79be532f0 libfreerdp-codec: fix and improve SRL decoder 2014-09-02 18:15:36 -04:00
erbth
25593c7250 H.264: converting only clipping rects to XRGB 2014-09-02 22:16:56 +02:00
Marc-André Moreau
6abd9e6be0 libfreerdp-codec: add more progressive test functions 2014-09-02 13:31:40 -04:00
Marc-André Moreau
49cede6e01 libfreerdp-codec: add separate sign array 2014-08-28 15:14:01 -04:00
Marc-André Moreau
e15baf6184 libfreerdp-codec: add code for SRL parsing 2014-08-28 12:14:28 -04:00
Vic Lee
551ee0566a channels: fix memory leak in stream pools. 2014-08-28 23:16:32 +08:00
Marc-André Moreau
59b8bd0bd1 libfreerdp-codec: start reading progressive RAW bytes 2014-08-27 18:34:37 -04:00
Marc-André Moreau
32766b0647 libfreerdp-codec: start computing BitPos 2014-08-27 17:02:15 -04:00
Marc-André Moreau
51d1d42616 libfreerdp-codec: fix progressive tile diffing 2014-08-27 15:15:37 -04:00
Marc-André Moreau
656dd760c5 libfreerdp-codec: fix sub-band diffing 2014-08-26 16:15:22 -04:00
Marc-André Moreau
4773403243 libfreerdp-codec: partial YCbCr diffing support 2014-08-26 14:36:33 -04:00
Marc-André Moreau
ec53dd612e libfreerdp-codec: fix progressive codec tile drawing offset, fix dequantization 2014-08-25 19:50:42 -04:00
Marc-André Moreau
2cffa7d8f4 libfreerdp-codec: make use of progressive quantization factors 2014-08-25 17:58:38 -04:00
Marc-André Moreau
ed7312501c libfreerdp-codec: fix progressive quantization shifts 2014-08-21 19:43:37 -04:00
Marc-André Moreau
969d9011da libfreerdp-codec: partially working progressive iDWT 2014-08-21 19:02:26 -04:00
Marc-André Moreau
f79ba1b364 libfreerdp-codec: fix crashes 2014-08-21 17:14:10 -04:00
Marc-André Moreau
f77e515965 libfreerdp-codec: improve progressive iDWT 2014-08-21 16:05:39 -04:00
Marc-André Moreau
e54bbdab00 libfreerdp-codec: start new progressive rfx iDWT functions 2014-08-20 19:12:08 -04:00
erbth
dee50a8ca2 H264 data alignement and 32 bit comilation ... 2014-08-21 00:58:08 +02:00
erbth
9eec9cb18a RDPEGFX H264 YUV data conversion in assembly/with SSSE3 in 32bit 2014-08-21 00:08:56 +02:00
Marc-André Moreau
5e778d6a0c libfreerdp-codec: intermediate progressive rfx iDWT 2014-08-20 17:16:34 -04:00
Daniel Bungert
27fc3ee64d Fix multiple cases of use of uninitialized vars
* Zeroing xevent helped address some erratic behavior.
* valgrind complained about using xfBitmap uninitialized
  during shutdown, traced it back to the initialization.
  Bitmap_Prototype->size > sizeof(rdpBitmap).
* Early exit from recv_tpkt_pdu is necessary to address
  a shutdown crash - the channelId value was being used
  without being set in the disconnect case.
2014-08-20 03:54:05 -06:00
Marc-André Moreau
68b3d0476b libfreerdp-codec: start work on progressive inverse DWT 2014-08-19 14:48:09 -04:00
Marc-André Moreau
2e672d5bdb libfreerdp-codec: optimize RemoteFX dequantization and differentiation 2014-08-18 21:10:56 -04:00
Marc-André Moreau
6744bbe7ae libfreerdp-codec: start working on progressive dequantization 2014-08-18 19:12:08 -04:00
Marc-André Moreau
1a8c763309 Merge branch 'shadow' of github.com:awakecoding/FreeRDP 2014-08-18 17:06:13 -04:00
Marc-André Moreau
5e177118aa Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-08-18 16:23:45 -04:00
Marc-André Moreau
82a53057a1 Merge pull request #2023 from ptsekov/software-gdi-improvements
Software GDI improvements
2014-08-18 16:22:23 -04:00
erbth
497e130c21 YUV data conversion using SSSE3/assembly with libavcodec implementation 2014-08-18 21:21:24 +02:00
Marc-André Moreau
ca90650336 shadow: fix race conditions 2014-08-15 18:12:53 -04:00
Marc-André Moreau
0457a29f57 shadow: fix WDS connectivity 2014-08-15 14:15:53 -04:00
Marc-André Moreau
78d43ced3d Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow 2014-08-15 11:44:07 -04:00
Marc-André Moreau
168d46f253 Merge branch 'awakecoding' of github.com:vworkspace/FreeRDP
Conflicts:
	libfreerdp/core/nego.c
	libfreerdp/core/peer.c
	winpr/libwinpr/synch/wait.c
2014-08-15 11:43:50 -04:00
Marc-André Moreau
158f9856ba shadow: start RDP client backend for WDS 2014-08-14 18:41:22 -04:00
Pavel Tsekov
651887c7e0 Fix erronous use of colors in gdi_patblt().
* libfreerdp/gdi/gdi.c:
(gdi_patblt): Fix a call to freerdp_mono_image_convert() which was
still passed colors in drawing order representation instead of GDI
representation.
2014-08-14 20:21:49 +03:00
Pavel Tsekov
eab69c2984 Fix 1bpp -> 16bpp image conversion.
* libfreerdp/codec/color.c (freerdp_mono_image_convert): Update the
1bpp -> 16bpp conversion code to reflect the fact that the foreground
and the background colors are in GDI representation now.
2014-08-14 20:09:12 +03: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
Marc-André Moreau
86a68f0c0f shadow: start Windows Desktop Sharing API support 2014-08-13 17:48:57 -04:00
Pavel Tsekov
53e19e0da7 Fix conversion of 24bpp bitmaps to 32bpp fb when
CLRCONV_INVERT and/or CLRCONV_ALPHA is set.
* include/freerdp/codec/color.h (RGB32_to_BGR32): New inline function.
* libfreerdp/codec/color.c:
(freerdp_image_convert_24bpp): Fix CLRCONV_ALPHA and CLRCONV_INVERT
processing for 32bpp destination.
Unroll the conversion loop to process four pixels in one go using
32-bit load and store operations.
2014-08-14 00:31:15 +03:00
erbth
095a7aba99 OpenH264 YUV data conversion with intel SSSE3 in assembly 2014-08-13 20:56:40 +02:00
Mike McDonald
5906efc5f7 Fixed a FreeRDP server problem which prevented RDP security from being negotiated. 2014-08-13 11:01:43 -04:00
Mike McDonald
37c8ce48e3 Fixed typo in message 2014-08-13 10:14:56 -04:00
Bernhard Miklautz
e5e1a75c35 crypto: fix fingerprint
Latest logging changes introduced a problem with fingerprint generation.
The last byte wasn't added.
2014-08-12 15:40:53 +02:00
Marc-André Moreau
e4a4aa4d3a Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow
Conflicts:
	channels/encomsp/client/encomsp_main.c
	libfreerdp/core/tcp.c
	libfreerdp/crypto/certificate.c
	server/Windows/CMakeLists.txt
	server/X11/xf_cursor.c
	server/X11/xf_input.c
	server/X11/xf_interface.c
	server/X11/xf_monitors.c
	server/X11/xf_peer.c
2014-08-11 19:22:33 -04:00
Marc-André Moreau
87fd839a35 libfreerdp-codec: cleanup and fix __lzcnt on Windows 2014-08-11 18:48:42 -04:00
Marc-André Moreau
dc7f89dbd5 Merge branch 'egfx' of github.com:awakecoding/FreeRDP 2014-08-11 17:25:38 -04:00
Marc-André Moreau
7171a0b5c1 libfreerdp-core: fix reconnection using client random 2014-08-11 11:23:23 -04:00
Marc-André Moreau
cff9c16c1e Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	channels/disp/client/disp_main.c
2014-08-11 10:36:07 -04:00
Marc-André Moreau
067da290dd Merge pull request #2027 from akallabeth/winpr-log
Replace stdout and logging defines with WLog, add logcat support
2014-08-11 10:38:28 -04:00
Marc-André Moreau
51ac7fffbd Merge pull request #1993 from bmiklautz/merge/from-stable-1.1
Pick changes from stable-1.1 that are not yet on master
2014-08-11 10:28:10 -04:00
Armin Novak
d0c5d9bb9e Fixed missing include. 2014-08-11 09:49:57 +02:00
Armin Novak
784696c1cd Fixed missing includes and invalid replacement. 2014-08-11 09:38:08 +02:00
Armin Novak
bcb5f90ee6 Replaced perror with DEBUG_WARN 2014-08-11 09:19:23 +02:00
Benoit LeBlanc
b990c2002a Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-08-08 11:42:53 -04:00
erbth
a8945306a1 Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx 2014-08-08 15:22:47 +02:00
erbth
a8257b5201 fixed some memory leaks arround DVC and RDPEGFX 2014-08-08 15:19:49 +02:00
Armin Novak
b897c6a433 Replaced fprintf(stderr with DEBUG_WARN 2014-08-07 22:20:35 +02:00
Armin Novak
eecc8e2333 Removed debug.c 2014-08-07 21:38:11 +02:00
Pavel Tsekov
052173de5f Do not assume 32bpp framebuffer when flipping NSCodec bitmaps.
* libfreerdp/gdi/gdi.c (gdi_surface_bits): Do not assume 32bpp
framebuffer when flipping NSCodec compressed bitmaps.
2014-08-07 20:37:06 +03:00
Pavel Tsekov
adb750f7ca Convert NSCodec compressed bitmaps to framebuffer format.
* libfreerdp/gdi/gdi.c (gdi_surface_bits): Convert NSCodec compressed
bitmaps to framebuffer format.
2014-08-07 20:33:30 +03:00
Armin Novak
f00cb3d25c Reverted previous replacements, not to be done for tests. 2014-08-07 19:05:22 +02:00
Armin Novak
a27706d129 Fixed missing includes. 2014-08-07 18:25:43 +02:00
Armin Novak
f4c133eaf8 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:24 +02:00
Pavel Tsekov
c51c5df2ff * include/freerdp/codec/color.h:
(freerdp_color_convert_drawing_order_color_to_gdi_color): Declare new
function.
* libfreerdp/codec/color.c:
(freerdp_color_convert_drawing_order_color_to_gdi_color): Implement.
(freerdp_image_convert_8bpp): Properly use the ARGB32/ABGR32/RGB32/BGR32
macros when converting 8bpp data to 32bpp.
(freerdp_image_convert_32bpp): Fix CLRCONV_ALPHA and CLRCONV_INVERT
processing for 32bpp destination.
(freerdp_mono_image_convert): Use ARGB32/ABGR32 when converting to 32bpp
and CLRCONV_ALPHA is set.
* libfreerdp/core/orders.c: Color data from drawing orders is
interpreted in big endian mode.
* libfreerdp/core/update.c (update_read_palette): Likewise.
* libfreerdp/gdi/16bpp.c (gdi_get_color_16bpp): GDI colors are stored as
RGB now.
* libfreerdp/gdi/32bpp.c (gdi_get_color_32bpp): Likewise.
* libfreerdp/gdi/gdi.c:
Use freerdp_color_convert_drawing_order_color_to_gdi_color() to convert
from drawing order color representation to GDI color representation
troughout.
* libfreerdp/gdi/graphics.c (gdi_Glyph_BeginDraw): Likewise.
(gdi_Glyph_EndDraw): Likewise.
2014-08-07 00:58:58 +03:00
Benoît LeBlanc
1f2f9dfbdc fix gdi_resize: set primary_buffer to NULL to avoid use after free 2014-08-06 17:02:21 -04:00
Marc-André Moreau
9838200068 libfreerdp-core: fix unix domain socket support 2014-08-06 12:08:00 -04:00
Marc-André Moreau
2653c5420f libfreerdp-codec: start processing tiles in progressive rfx 2014-08-06 10:23:14 -04:00
Marc-André Moreau
22d3b6c74b libfreerdp-codec: remove old RemoteFX RLGR implementation in favour of faster one 2014-08-05 21:41:58 -04:00
Marc-André Moreau
b7ca13f19d libfreerdp-codec: add RLGR3 support in new RLGR function 2014-08-05 21:26:47 -04:00
Marc-André Moreau
db5b947852 libfreerdp-codec: optimize RLGR1 2014-08-05 17:22:20 -04:00
Marc-André Moreau
e6dbbfb305 libfreerdp-codec: fix progressive RLGR1 decode 2014-08-05 17:07:06 -04:00
Marc-André Moreau
3895c930a3 Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow 2014-08-05 09:56:12 -04:00
Marc-André Moreau
85b1d6c167 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	libfreerdp/codec/h264.c
2014-08-05 09:55:54 -04:00
U-PAVEL\Pavel Tsekov
8a4f134fab Revert to 15d2b35574 2014-08-05 14:35:31 +03:00
Marc-André Moreau
88e5bacda7 libfreerdp-codec: improve progressive rfx rlgr1 2014-08-03 00:08:22 -04:00
Marc-André Moreau
51f6ffd2ba libfreerdp-codec: improve rfx progressive RLGR1 implementation 2014-08-02 22:26:05 -04:00
Marc-André Moreau
85026bff76 libfreerdp-codec: initial RLGR1 progressive implementation 2014-08-02 11:24:47 -04:00
Marc-André Moreau
14a3ff94eb libfreerdp-codec: simplify block reading logic 2014-08-01 09:44:00 -04:00
Marc-André Moreau
574c1789b7 libfreerdp-codec: start processing progressive tiles 2014-07-31 15:08:54 -04:00
erbth
64501b895b Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx
Conflicts:
	libfreerdp/codec/h264.c (deleted in my repo in order to get complete remote file)
2014-07-30 13:11:05 +02:00
erbth
55407bd4e8 repo prepared for merging #2 2014-07-30 13:08:08 +02:00
erbth
de46a0c738 repo prepared for merging 2014-07-30 12:46:52 +02:00
Marc-André Moreau
800be2f680 libfreerdp-codec: complete parsing of progressive codec block arrays 2014-07-29 17:37:46 -04:00
erbth
20e76411dc H.264 hack and first port of YUV to XRGB format conversion to assembly 2014-07-29 21:42:04 +02:00
Marc-André Moreau
7c07035f29 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-07-29 13:41:57 -04:00
Marc-André Moreau
c060fb07a2 libfreerdp-codec: fix build on Windows 2014-07-29 13:41:21 -04:00
Marc-André Moreau
2b3cd39026 libfreerdp-codec: more parsing of progressive data blocks 2014-07-29 12:38:29 -04:00
Pavel Tsekov
8c3080f345 Fix 1bpp to 32bpp conversion with CLRCONV_ALPHA on
* libfreerdp/codec/color.c (freerdp_mono_image_convert): Use
ARGB32/ABGR32 when
using 32bpp framebuffer and CLRCONV_ALPHA is set.
2014-07-29 11:19:25 +03:00
Marc-André Moreau
a3de93d867 libfreerdp-codec: start parsing progressive codec 2014-07-28 23:41:16 -04:00
Bernhard Miklautz
a124f6a7c6 fix comment style
// to /* */
2014-07-29 05:22:30 +02:00
Bernhard Miklautz
a9eed46e38 Fix warnings found in Xcode 2014-07-29 05:22:30 +02:00
Bernhard Miklautz
8c318da7b1 fix compiler warnings 2014-07-29 05:22:29 +02:00
Bernhard Miklautz
b8415af0d8 Fix compiler warnings.
This commit is based on pull request #1493
2014-07-29 05:22:29 +02:00
Marc-André Moreau
0c408c213c libfreerdp-codec: stub progressive codec decompressor 2014-07-28 17:42:23 -04:00
Marc-André Moreau
8321d7ffad libfreerdp-codec: fix OpenH264 usage thanks to @erbth's hack 2014-07-28 17:22:02 -04:00
Marc-André Moreau
6c034f17eb Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx 2014-07-28 17:04:03 -04:00
Marc-André Moreau
780079d629 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-07-28 16:59:29 -04:00
Marc-André Moreau
b56eaccdc3 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	client/common/client.c
2014-07-28 16:58:32 -04:00
Marc-André Moreau
42ec69f9c7 Merge branch 'master' of github.com:awakecoding/FreeRDP 2014-07-28 16:47:56 -04:00
Marc-André Moreau
e303c3bd4c channels: cleanup RDP8 virtual channels 2014-07-28 16:47:42 -04:00
Marc-André Moreau
15d2b35574 Merge pull request #1982 from bmiklautz/feat/read_pdu
Transport re-factor and clean up
2014-07-28 16:32:06 -04:00
Norbert Federa
cdcdec99bc OpenSSL thread safety
freerdp/winpr had the following issues:
* The non reentrant SSL_library_init() was called concurrently (crash)
* Missing code/api to set the eventually required OpenSSL static and dynamic locking callbacks
* Missing code/api to free the application-global or thread-local OpenSSL data and tables

This commit creates two new winpr functions:

BOOL winpr_InitializeSSL(DWORD flags):

Use the flag WINPR_SSL_INIT_ALREADY_INITIALIZED if you want to tell winpr that
your application has already initialized OpenSSL.
If required use the flag WINPR_SSL_INIT_ENABLE_LOCKING to tell winpr that it
should set the OpenSSL static and dynamic locking callbacks.
Otherwise just call it with the flag WINPR_SSL_INIT_DEFAULT.

The recommended way is that your application calls this function once before
any threads are created. However, in order to support lazy OpenSSL library
initialization winpr_InitializeSSL() can also safely be called multiple times
and concurrently because it uses the new InitOnceExecuteOnce() function to
guarantee that the initialization is only performed successfully once during
the life time of the calling process.

BOOL winpr_CleanupSSL(DWORD flags):

If you create a thread that uses SSL you should call this function before the
thread returns using the flag WINPR_SSL_CLEANUP_THREAD in order to clean up
the thread-local OpenSSL data and tables.
Call the function with the flag WINPR_SSL_CLEANUP_GLOBAL before terminating
your application.

Note: This commit only replaced the current occurences of the
SSL_load_error_strings(); SSL_library_init(); pairs in the freerdp source
with winpr_InitializeSSL(). None of the server or client applications has been
changed according to the recommended usage described above (TBDL).
2014-07-28 21:55:57 +02:00
Bernhard Miklautz
b17045ddd8 fix: typos and formating 2014-07-28 13:12:01 +02:00
Marc-André Moreau
ef04373628 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-07-26 14:43:10 -04:00
Daryl Poe
3794720455 correct Pause key sequence
(cherry picked from commit 46a00b5c9e)
2014-07-25 11:31:50 +02:00
Bernhard Miklautz
bdad9524dc refactor transport_read_pdu and check_fds
transport_check_fds and transport_read_pdu had almost the same
functionality: reading and validating one pdu at a time.

Now transport_read_pdu reads one pdu from the transport layer and verifies
that the pdu data is valid - as before.
transport_read_pdu also ensures that the stream is sealed and
rewound when the pdu is received completely.
transport_check_fds just uses transport_read_pdu and does *not* do
the verification a second time based on the stream.

Besides the clean up this fixes the following problems:

* transport_read always read 4 bytes. Fast-path input synchronize pdus
  are only 3 bytes long. In this case on byte got lost in the stream
	buffer which lead to "de-synchronization" of server and
	client.

* Size check in tpdu_read_connection_confirm - already read bytes
  weren't taken into account.
2014-07-24 16:34:59 +02:00
Bernhard Miklautz
47dd22ba87 transport refactor
rename transport_read to transport_read_pdu. This name is more
descriptive what the function actually does.
2014-07-24 16:34:59 +02:00
Bernhard Miklautz
2bb0659fb4 core: improve fast-path multifragment handling
* make sure fast-path packages are not fragmented if no
  multifragment support was announced
* handle special server side case where the multifragment size
  received from the client is smaller than one maximum fast-path
  PDU size
2014-07-24 16:29:46 +02:00
Benoit LeBlanc
653d52bff3 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-07-18 12:02:52 -04:00
Marc-André Moreau
d8b858811f shadow: initial windows server-side connectivity 2014-07-17 21:15:22 -04:00
Marc-André Moreau
5d4f28a788 Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow 2014-07-17 17:33:33 -04:00
erbth
9501b6c58e OpenH264 first frame decode fix 2014-07-17 16:25:34 +02:00
Daniel Bungert
625f7c3c22 Add arguments for managing tls ciphers & netmon
This adds 2 arguments:
    /tls-ciphers                List of permitted openssl ciphers - see ciphers(1)
    /tls-ciphers-netmon         Use tls ciphers that netmon can parse

With KB2919355, client/server negotiate the use of
TLS cipher TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
which works fine except that netmon can't parse it.
By adding commandline /tls-ciphers-netmon, we restrict
the available ciphers to a list that netmon can
deal with.  Also adds /tls-ciphers, which
accepts a string arg, for further customization.
2014-07-17 06:59:06 -06:00
Norbert Federa
8482eed323 core: addd missing PlaySound server callback 2014-07-16 15:38:10 +02:00
Marc-André Moreau
21571eea88 channels/remdesk: add PassStub generation 2014-07-15 20:09:19 -04:00
Vic Lee
8df60ecbe4 tls: fix some error handling. 2014-07-15 11:36:35 +08:00
Armin Novak
689902c995 Moved update thread from client to library. 2014-07-14 19:27:50 +02:00
Mike McDonald
4370c26e0d Added the ability to decode H.264 frames using libavcodec and refactored code to make it a little cleaner. 2014-07-14 09:59:57 -04:00
Vic Lee
29cb8680ce server: allow partial channel read (fix rdpsnd). 2014-07-14 20:00:38 +08:00
Marc-André Moreau
8ae00f7385 shadow: start hooking X11 code as subsystem 2014-07-11 19:30:40 -04:00
Marc-André Moreau
4d3ea77972 Merge pull request #1917 from SBoyNumber1/BitmapCacheV3OnAndroid
Added detect of uncompressed data in CACHE_BITMAP_REV3_ORDER. According ...
2014-07-11 16:35:11 -04:00
Marc-André Moreau
61b35e2e8f Merge pull request #1948 from jbd1986/fix-french-canadian
I am making several changes to clean up French Canadian keyboard defs.
2014-07-11 16:34:43 -04:00
Bernhard Miklautz
c99d4648ff Merge pull request #1950 from hardening/kill_select
kill the last remaining select() in libfreerdp
2014-07-11 16:41:31 +02:00
Bernhard Miklautz
39d78ba707 Merge pull request #1954 from nfedera/fix-2014-07-10-01
transport_read: ensure stream buf size >= pdu size
2014-07-11 15:08:10 +02:00
Armin Novak
ad3255354d Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +02:00
Hardening
3fce288c66 Fix unclean SSL disconnection
This patch prevent an infinite loop when the remote peer disconnect
the socket without cleanly closing the SSL connection.
2014-07-10 23:35:11 +02:00
Norbert Federa
c206a35c12 transport_read: ensure stream buf size >= pdu size
Without this check a simple nc < /dev/urandom server:3389 could
kill the server instantly.
2014-07-10 12:09:48 +02:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Mike McDonald
1087b50e92 Added use of U/V planes to freerdp_image_copy_yuv420p_to_xrgb function. 2014-07-09 19:56:05 -04:00
Marc-André Moreau
03c91a92d1 libfreerdp-codec: add more egfx h264 debugging 2014-07-09 16:41:36 -04:00
Hardening
6223460557 kill the last remaining select() in libfreerdp 2014-07-09 11:28:41 +02:00
Marc-André Moreau
1a4b84ade4 Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx 2014-07-08 18:04:49 -04:00
Mike McDonald
3e817090b9 Added SetOption calls to enable trace logging in OpenH264. 2014-07-08 17:45:48 -04:00
Marc-André Moreau
f7e5365719 libfreerdp-codec: add more gfx H264 debug output 2014-07-08 17:16:13 -04:00
Justin DeFields
00b01f1b4e I am making several changes to cleanup French Canadian, with the end result being: ca,fr -> Canadian French ca,fr-legacy -> Canadian English ca,eng -> Canadian English. Currently ca,fr isn't defined, ca,fr-legacy thinks it's Canadian French and it isn't anyway because the value is wrong for that definition, and ca,eng is US. 2014-07-08 16:51:50 -04:00
Benoît LeBlanc
18eaddc7fe Merge branch 'master' of git://github.com/awakecoding/FreeRDP
# By Marc-André Moreau (20) and others
# Via Mike McDonald (6) and others
* 'master' of git://github.com/awakecoding/FreeRDP: (26 commits)
  libfreerdp-codec: fix C++ headers
  libfreerdp-codec: fix ClearCodec short vbar cache hit
  libfreerdp-codec: improve ClearCodec error checking
  libfreerdp-codec: fix ClearCodec RLEX decoding
  libfreerdp-codec: ClearCodec fix error codes and wrapping around of cursors
  libfreerdp-codec: fix some ClearCodec flag checking
  Fixed issue with last merge.
  Added #ifdef WITH_OPENH264 ... #endif to appropriate places in the code.
  libfreerdp-codec: handle long vbar length mismatch
  channels/rdpgfx: add egfx command line options and settings
  libfreerdp-codec: reduce number of variables
  libfreerdp-codec: improve ClearCodec robustness
  libfreerdp-codec: simplify ClearCodec code
  Initial implementation of H.264 decoder for MS-RDPEGFX
  libfreerdp-codec: improve ClearCodec subcodec xStart, yStart handling
  libfreerdp-codec: improve ClearCodec subcodec support
  libfreerdp-codec: improve ClearCodec error checking
  libfreerdp-codec: more ClearCodec vBar caching
  channels/rdpgfx: harden parsing code
  libfreerdp-codec: add ClearCodec glyph cache
  ...
2014-07-08 16:45:59 -04:00
Benoît LeBlanc
84d0089401 Added KeyboardHook to settings 2014-07-08 16:32:28 -04:00
Marc-André Moreau
ee8c0906f0 libfreerdp-codec: fix strict aliasing warnings in ncrush code 2014-07-08 15:59:23 -04:00
Marc-André Moreau
c492017fa1 libfreerdp-codec: fix build bot warnings 2014-07-08 15:48:29 -04:00
Marc-André Moreau
ac7d23b9a3 libfreerdp-gdi: migrate to _aligned_malloc/_aligned_free 2014-07-08 15:07:19 -04:00
Marc-André Moreau
c16000e67b Merge branch 'master' of github.com:FreeRDP/FreeRDP into egfx 2014-07-08 12:29:30 -04:00
Marc-André Moreau
1a32c2e33e Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx 2014-07-08 12:20:30 -04:00
Marc-André Moreau
31b6459484 libfreerdp-codec: don't use posix_memalign 2014-07-08 12:18:41 -04:00
Marc-André Moreau
a0dad3fa87 Merge branch 'master' of https://github.com/dpoe/FreeRDP into egfx 2014-07-08 12:13:11 -04:00
Marc-André Moreau
2f26ed58e5 libfreerdp-codec: reduce ClearCodec memory usage 2014-07-08 11:37:27 -04:00
Bernhard Miklautz
199d53bb00 Merge pull request #1942 from hardening/kill_select
Use poll() instead of select() when available
2014-07-08 16:36:04 +02:00
Marc-André Moreau
465ecb02a1 libfreerdp-codec: fix ClearCodec short vbar cache hit 2014-07-07 16:50:19 -04:00
Marc-André Moreau
44edb3025f libfreerdp-codec: improve ClearCodec error checking 2014-07-07 15:48:56 -04:00
Marc-André Moreau
7489675ab9 libfreerdp-codec: fix ClearCodec RLEX decoding 2014-07-07 14:16:05 -04:00
Marc-André Moreau
9474784070 libfreerdp-codec: ClearCodec fix error codes and wrapping around of cursors 2014-07-07 12:17:37 -04:00
Hardening
fd7b8170dc Fix invalid timeout
timeout was set to 1000ms while in the old code it was 1000us. As 1ms
seems too small set it to 10ms.
2014-07-07 10:44:57 +02:00
Marc-André Moreau
0ed7d3e6be libfreerdp-codec: fix some ClearCodec flag checking 2014-07-05 16:29:28 -04:00
Marc-André Moreau
cd78e87525 Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx 2014-07-05 15:35:37 -04:00
Mike McDonald
bcec880d29 Merge branch 'egfx' of https://github.com/awakecoding/FreeRDP into egfx 2014-07-05 06:52:27 -04:00
Mike McDonald
a539e8c20e Updated coefficients for YUV to RGB conversion to match Microsoft, updated clip function, and added an initial implementation for upconverting 4:2:0 to 4:4:4. 2014-07-05 06:51:57 -04:00
Hardening
bf53f044bd Fix missing include 2014-07-04 15:18:50 +02:00
Mike McDonald
07351ddff4 Fixed issue with last merge. 2014-07-04 03:52:05 -04:00
Mike McDonald
0ddd52a7db Merged branch 'egfx' of github.com:awakecoding/FreeRDP into egfx 2014-07-04 03:16:55 -04:00
Mike McDonald
0a13972c7d Added #ifdef WITH_OPENH264 ... #endif to appropriate places in the code. 2014-07-04 03:06:50 -04:00
Marc-André Moreau
92d143ad40 libfreerdp-codec: handle long vbar length mismatch 2014-07-03 16:09:53 -04:00
Marc-André Moreau
5c5386fe04 channels/rdpgfx: add egfx command line options and settings 2014-07-03 14:35:03 -04:00
Marc-André Moreau
bde954107d Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx
Conflicts:
	client/X11/xf_gfx.c
2014-07-03 12:03:39 -04:00
Hardening
7238bedd26 Link utils against winsocks 2014-07-03 17:53:02 +02:00
Marc-André Moreau
2f5011a438 libfreerdp-codec: reduce number of variables 2014-07-03 11:49:06 -04:00
Hardening
542811291c Use poll() instead of select() when available
select() has the major drawback that it cannot handle file descriptor
that are bigger than 1024. This patch makes use of poll() instead of
select() when poll() support is available.
2014-07-03 15:26:49 +02:00
Emmanuel Ledoux
e4840d3596 Merge remote-tracking branch 'upstream/master' 2014-07-03 11:56:00 +02:00
Daryl Poe
fa06452a4b add YCoCg->RGB and 16-to-32bit SSE 2014-07-02 14:30:04 -06:00
Marc-André Moreau
4b80c46ae4 libfreerdp-codec: improve ClearCodec robustness 2014-07-02 14:51:46 -04:00
Marc-André Moreau
e20cfc1e2c libfreerdp-codec: simplify ClearCodec code 2014-07-02 13:45:19 -04:00
Mike McDonald
4d3d78c487 Initial implementation of H.264 decoder for MS-RDPEGFX 2014-07-01 23:28:09 -04:00
Marc-André Moreau
4344932b56 libfreerdp-codec: improve ClearCodec subcodec xStart, yStart handling 2014-07-01 18:56:10 -04:00
Marc-André Moreau
1a80d0e156 libfreerdp-codec: improve ClearCodec subcodec support 2014-07-01 18:21:51 -04:00
Marc-André Moreau
4a4f4308b5 libfreerdp-codec: improve ClearCodec error checking 2014-07-01 16:32:36 -04:00
Marc-André Moreau
f304d8cc20 libfreerdp-codec: more ClearCodec vBar caching 2014-07-01 14:38:54 -04:00
Marc-André Moreau
c7604ff9ba channels/rdpgfx: harden parsing code 2014-07-01 11:33:35 -04:00
Marc-André Moreau
8a5591bdef libfreerdp-codec: add ClearCodec glyph cache 2014-07-01 09:55:52 -04:00
Marc-André Moreau
78e00db45d Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	libfreerdp/codec/test/TestFreeRDPCodecClear.c
2014-07-01 09:11:50 -04:00
Marc-André Moreau
de7d452d37 libfreerdp-codec: fix ClearCodec unit tests 2014-07-01 09:10:32 -04:00
Marc-André Moreau
ff816feb72 Merge branch 'master' of github.com:FreeRDP/FreeRDP into egfx 2014-07-01 09:01:52 -04:00
Marc-André Moreau
e42465372a xfreerdp: initial remote assistance controls (ctrl+alt+c to request/release control) 2014-06-30 17:17:06 -04:00
Marc-André Moreau
b60eff8e42 channels/remdesk: start sending authentication data 2014-06-30 12:51:27 -04:00
Emmanuel Ledoux
9fc225ac5d Merge branch 'ports'
Conflicts:
	channels/serial/client/serial_tty.c
2014-06-30 17:22:15 +02:00
Marc-André Moreau
7a50525880 libfreerdp-common: move assistance code 2014-06-30 09:40:24 -04:00
Marc-André Moreau
af1be38775 client/common: parse and use remote assistance file 2014-06-28 18:33:46 -04:00
Marc-André Moreau
49cd7806d9 libfreerdp-codec: improve ClearCodec decompressor 2014-06-26 17:08:51 -04:00
Marc-André Moreau
dd36617093 libfreerdp-codec: improve clear_decompress function parameters 2014-06-25 18:39:28 -04:00
SBoyNumber1
473e6cd90a Update bitmap.c
Third try to make Windows build.
2014-06-23 12:02:41 +03:00
SBoyNumber1
d0fc5227a0 Update bitmap.c 2014-06-21 15:23:24 +03:00
Marc-André Moreau
78d3c82798 xfreerdp: fix multiple egfx-related memory leaks 2014-06-20 13:52:13 -04:00
Marc-André Moreau
cd65a0d6b8 libfreerdp-codec: cleanup and fix insufficient rectangle array size in region16_union_rect 2014-06-20 12:35:21 -04:00
SBoyNumber1
5bbba65bbb Added detect of uncompressed data in CACHE_BITMAP_REV3_ORDER. According to example from http://msdn.microsoft.com/en-us/library/gg441209.aspx. 2014-06-20 19:33:30 +03:00
Marc-André Moreau
160a3c4b61 libfreerdp-codec: avoid intermediate copy with planar egfx 2014-06-19 13:55:34 -04:00
Marc-André Moreau
57b0e4d010 libfreerdp-codec: handle flipping in planar decompression 2014-06-19 13:08:07 -04:00
Marc-André Moreau
f6d029d5ac libfreerdp-codec: improve planar handling of scanlines 2014-06-19 12:11:06 -04:00
Marc-André Moreau
ea3822c357 libfreerdp-codec: cleanup planar decoder 2014-06-18 17:46:22 -04:00
Emmanuel Ledoux
e6c82f99d5 serial: ability to setup the server serial driver thanks to a third parameter on the command line 2014-06-18 18:20:21 +02:00
Marc-André Moreau
425763d30a libfreerdp-codec: start offering more flexible planar codec decompression 2014-06-17 16:44:24 -04:00
Marc-André Moreau
d69316198f xfreerdp: add egfx support for planar codec 2014-06-17 16:15:30 -04:00
Marc-André Moreau
61eb7f2f8e libfreerdp-codec: fix ClearCodec decoding 2014-06-13 17:30:13 -04:00
Marc-André Moreau
0e27f5abe4 libfreerdp-codec: start working on clearcodec decompressor 2014-06-13 12:17:16 -04:00
Marc-André Moreau
eeb7cd2cb2 xfreerdp: initial egfx bitmap caching 2014-06-13 08:36:09 -04:00
Marc-André Moreau
27b1e76dbb xfreerdp: fix egfx SurfaceToSurface overlapping copies 2014-06-12 21:02:25 -04:00
Marc-André Moreau
ae02b5b512 xfreerdp: start handling egfx surface-to-surface 2014-06-12 16:13:12 -04:00
Marc-André Moreau
2a82684521 channels: cleanup unused freerdp channels global functions 2014-06-11 16:27:31 -04:00
Marc-André Moreau
0901938590 channels/drdynvc: fix fragmented packets 2014-06-11 14:31:46 -04:00
Marc-André Moreau
3c5b8b3d57 Merge branch 'dvc_streampool' of github.com:akallabeth/FreeRDP into egfx
Conflicts:
	channels/rdpgfx/client/rdpgfx_main.c
	include/freerdp/dvc.h
2014-06-11 13:13:03 -04:00
Armin Novak
cc71d7e66a Using synchronized stream pool now. 2014-06-11 15:13:58 +02:00
Armin Novak
15ce8c0552 Updated plugins to use new svc_plugin and OnDataReceived API. 2014-06-11 14:42:32 +02:00
Armin Novak
60b0d075e2 svc_plugin now uses reference counted StreamPool.
Added termination function to clean up allocated resources.
2014-06-11 14:40:38 +02:00
Marc-André Moreau
723e9a171b libwinpr-sspi: fix server-side NLA 2014-06-10 14:38:17 -04:00
Marc-André Moreau
03cf7933d9 libwinpr-sspi: start implementing and using negotiate sspi module 2014-06-07 16:26:57 -04:00
Marc-André Moreau
a07f616895 libwinpr-sspi: improve link interface 2014-06-07 10:50:51 -04:00
Marc-André Moreau
220f885774 libwinpr-sspi: code hardening 2014-06-06 17:20:34 -04:00
Marc-André Moreau
940e6fbc15 libwinpr-sspi: make native sspi option dynamic 2014-06-06 15:34:12 -04:00
Marc-André Moreau
77c3de47d7 libfreerdp-codec: optimize zgfx history buffer wrap around 2014-06-05 18:09:37 -04:00
Marc-André Moreau
b4ba2c7a38 libfreerdp-codec: optimize zgfx bitstream 2014-06-05 15:41:42 -04:00
Marc-André Moreau
4e86211f34 libfreerdp-codec: refactor zgfx 2014-06-05 15:24:36 -04:00
Marc-André Moreau
161e7b0026 libfreerdp-codec: simplify zgfx segment processing 2014-06-05 14:52:27 -04:00
Marc-André Moreau
5f18f06e6f Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-06-04 19:05:04 -04:00
Vic Lee
63a1af4b35 transport: fix incorrect retval that caused unexpected redirect. 2014-06-04 15:57:27 +08:00
Martin Fleisz
d8061d23d6 Merge pull request #1882 from hardening/nla_fix
Nla fix
2014-06-04 09:30:34 +02:00
Marc-André Moreau
d6e955e6f1 channels/rdpgfx: stub bitmap decompression 2014-06-03 20:51:28 -04:00
Marc-André Moreau
a50e4d16fc libfreerdp-codec: integrate basic RDP8 decompression support 2014-06-03 14:29:55 -04:00
Marc-André Moreau
abd833c27e libfreerdp-codec: stub new ZGFX (RDP8) bulk compressor/decompressor 2014-06-03 13:38:10 -04:00
Martin Fleisz
6f1f4be0ae Merge pull request #1873 from hardening/WTSVirtualChannelWriteCallers
Don't use NULL for pWrittenBytes when calling WTSVirtualChannelWrite()
2014-06-03 16:40:05 +02:00
Hardening
462a26c8c3 Don't leak cert in case of failure 2014-06-03 15:19:00 +02:00
Hardening
a607b4553d Fix certificate leak
There were a leak when doing TLS in server mode
2014-06-03 14:59:58 +02:00
Hardening
183155dbd1 Fix metrics leak 2014-06-03 14:54:56 +02:00
Hardening
4f1b77408a Fix NLA authentication for server-side
This patch make copies of the server public key so that the NLA
authentication can be performed server-side.
2014-06-03 11:04:35 +02:00
Marc-André Moreau
04968b18c4 libfreerdp-core: replace all OpenSSL built-in BIOs by new full duplex BIOs 2014-06-01 21:37:20 -04:00
Marc-André Moreau
a8be174e03 libfreerdp-core: remove ineffective full duplex locks 2014-06-01 11:20:13 -04:00
Marc-André Moreau
1ac2350ec5 libfreerdp-core: fail more gracefully when transport thread dies 2014-06-01 10:46:43 -04:00
Marc-André Moreau
c5e4c74bb6 libfreerdp-core: fix build on Windows 2014-05-30 15:29:06 -04:00
Marc-André Moreau
98077cfc24 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	libfreerdp/core/transport.c
2014-05-30 15:06:07 -04:00
Marc-André Moreau
b1416af362 libfreerdp-core: add locks to disable full duplex BIOs (currently unsafe) 2014-05-30 14:53:10 -04:00
Marc-André Moreau
d2ad5f698b libfreerdp-core: fix VerifyX509Certificate to make distinction between gateway and direct connection 2014-05-30 14:36:18 -04:00
Marc-André Moreau
709df9aecc libfreerdp-core: add connection timeout, fix gateway bypass local 2014-05-30 14:03:20 -04:00
Vic Lee
e4e1315131 transport: add another null pointer check. 2014-05-31 01:08:00 +08:00
Marc-André Moreau
e60a59134f libfreerdp-common: add freerdp_update_gateway_usage_method helper 2014-05-30 12:55:17 -04:00
Marc-André Moreau
629858b676 libfreerdp-core: add gateway-usage-method command line option, avoid resetting BIO flags we shouldn't reset 2014-05-30 12:31:26 -04:00
Vic Lee
a3461cef06 transport: add a null pointer check. 2014-05-30 23:34:04 +08:00
Vic Lee
a98e13a86e tcp: add timeout to prevent buggy client from hanging. 2014-05-30 22:30:21 +08:00
Hardening
07e0eba7db Check that bpp has reasonable value
As bpp is often used for malloc computations, let's check that it has
a reasonable value.
2014-05-29 10:12:02 +02:00
Hardening
61a58532db Check for bpp > 0
Bpp == 0 just makes no sense
2014-05-29 09:24:59 +02:00
Benoît LeBlanc
f57c694a3b tls_prepare: suppressed a warning on Mac 2014-05-28 21:33:30 -04:00
Hardening
640b901396 Set checks to be strict and also check xorBpp field
This patch:
* renames bpp to xorBpp ;
* changes checks to strict ;
* adds checks on the xorBpp field
2014-05-29 00:12:48 +02:00
Hardening
532c42052a Fixes for CVE-2014-0250
This patch introduce misc checks when receiving pointer updates. We check
that the cursor are in the bounds defined by the spec. We also check that
the announced mask sizes are what they should be.
2014-05-28 23:07:00 +02:00
Hardening
c076ffb020 Don't use NULL for pWrittenBytes when calling WTSVirtualChannelWrite()
Nothing in the MSDN API says that setting NULL is safe. And if the
implementation uses WriteFile directly, it crashes.
2014-05-28 17:04:24 +02:00
Marc-André Moreau
18cac3d4dd libfreerdp-codec: cleanup context state flushing 2014-05-26 12:43:30 -04:00
Marc-André Moreau
830659fc5c libfreerdp-core: add new protocol metrics module 2014-05-26 12:30:58 -04:00
Marc-André Moreau
8c7fbe3394 libfreerdp-codec: fix xcrush level-1 compressor 2014-05-25 21:39:25 -04:00
Marc-André Moreau
d2d8c482fc libfreerdp-codec: cleanup and fix XCrush context flush synchronization 2014-05-25 21:21:51 -04:00
Marc-André Moreau
5930b22263 libfreerdp-codec: fix xcrush packet flushing 2014-05-25 20:35:54 -04:00
Marc-André Moreau
d1b5ba0f28 libfreerdp-codec: start compressing some XCrush frames 2014-05-25 20:01:12 -04:00
Marc-André Moreau
8d8e0c24fe libfreerdp-codec: improve xcrush compressor error checking 2014-05-23 17:38:10 -04:00
Marc-André Moreau
67743b6832 libfreerdp-core: enable RDP6.1 XCrush compression/decompression by default 2014-05-23 14:11:53 -04:00
Marc-André Moreau
c866d19bd4 winpr-crt: fix bit rotation macros 2014-05-23 14:00:46 -04:00
Marc-André Moreau
55e096a82f libfreerdp-codec: add xcrush match optimization and output generation 2014-05-23 13:59:34 -04:00
Marc-André Moreau
ee935a3760 libfreerdp-codec: add match info functions 2014-05-22 17:38:01 -04:00
Marc-André Moreau
19b25a792e winpr-crt: add bit rotation functions 2014-05-22 16:31:14 -04:00
Marc-André Moreau
4ce8c09c1b Merge branch 'master' of github.com:awakecoding/FreeRDP into xcrush 2014-05-22 16:09:52 -04:00
Marc-André Moreau
e8d3164f99 libfreerdp-core: fix windows build warning 2014-05-22 16:08:10 -04:00
Marc-André Moreau
c0ec800bfd freerdp: fix incorrect copyright headers 2014-05-22 15:56:47 -04:00
Marc-André Moreau
6cd6d63e42 Merge branch 'master' of github.com:awakecoding/FreeRDP into xcrush 2014-05-22 15:22:42 -04:00
Marc-André Moreau
b24c95ce59 libfreerdp-core: fix tcp_new on Windows 2014-05-22 15:13:00 -04:00
Marc-André Moreau
ae368549ad freerdp: fix compilation on Windows 2014-05-22 14:42:05 -04:00
Marc-André Moreau
af4a413287 Merge branch 'non_blocking_writes' of github.com:hardening/FreeRDP into non_blocking_writes 2014-05-22 14:01:44 -04:00
Marc-André Moreau
0363196923 libfreerdp-core: add xcrush signature db 2014-05-22 00:18:56 -04:00
Marc-André Moreau
fd23b2f041 libfreerdp-codec: add xcrush rolling hash chunker 2014-05-21 22:55:45 -04:00
Hardening
3200baca4b Correctly export ringbuffer function and fix a warning 2014-05-21 22:20:38 +02:00
Hardening
2b1a27b9b6 Add .gitignore files for test generated files 2014-05-21 22:18:38 +02:00
Hardening
5c9a6408cf Fixed invalid declaration and missing argument 2014-05-21 19:13:40 +02:00
Hardening
de1c08736f Fix ringbuffer_write() to use const BYTE * instead of const void * 2014-05-21 19:12:51 +02:00
Hardening
d8eb1f284f Updated license headers 2014-05-21 18:44:49 +02:00
Hardening
a04843bc9e Fix some corner cases in ringbuffer and make unitary test have no leak 2014-05-21 18:32:59 +02:00
Hardening
5234e05843 Make ringbuffer C89 aware for VC 2014-05-21 18:17:39 +02:00
Hardening
dd6d829550 Allow transport_write calls to be non-blocking
This big patch allows to have non-blocking writes. To achieve
this, it slightly changes the way transport is handled. The misc transport
layers are handled with OpenSSL BIOs. In the chain we insert a
bufferedBIO that will bufferize write calls that couldn't be honored.

For an access with Tls security the BIO chain would look like this:
  FreeRdp Code ===> SSL bio ===> buffered BIO ===> socket BIO

The buffered BIO will store bytes that couldn't be send because of
blocking write calls.

This patch also rework TSG so that it would look like this in the
case of SSL security with TSG:
                                         (TSG in)
                              > SSL BIO => buffered BIO ==> socket BIO
                             /
FreeRdp => SSL BIO => TSG BIO
                             \
                              > SSL BIO => buffered BIO ==> socket BIO
                                        (TSG out)

So from the FreeRDP point of view sending something is only BIO_writing
on the frontBio (last BIO on the left).
2014-05-21 17:42:31 +02:00
Hardening
0376dcd065 Fix OOM situation 2014-05-21 17:27:36 +02:00
Hardening
9c18ae5bee Print function name when emiting an error 2014-05-21 17:27:36 +02:00
Hardening
0ea1dc43ec Add a ringbuffer implementation targetting byte sending
This adds a ringbuffer implementation that targets bytes sending.
The ringbuffer can grow when there's not enough room, that's why it's
not thread-safe (locking must be done externally). It will be shrinked
to its initial size as soon as the used bytes are the half of the
initial size.
2014-05-21 17:27:36 +02:00
Marc-André Moreau
4bac8374de Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-05-21 11:17:58 -04:00
Marc-André Moreau
7113cf2858 Merge pull request #1852 from orosam/auth3fix
Fix misplaced sec_trailer in rpc_auth_3 PDU
2014-05-21 11:01:12 -04:00
Marc-André Moreau
6f8fda247b Merge pull request #1844 from caramorsimon/tokenrouting
Test for CRLF (0x0D0A) termination on the routing token
2014-05-21 10:56:56 -04:00
Marc-André Moreau
472c231876 Merge pull request #1826 from Hobby-Student/master
fix FreeBSD compile errors
2014-05-21 10:53:47 -04:00
Hardening
86489f1c9a Merge pull request #1629 from bmiklautz/update_pull_1609
Android jpeg build enhancement
2014-05-20 22:10:17 +02:00
Sandor Oroszi
d447f122c3 libfreerdp-core: fix misplaced sec_trailer in rpc_auth_3 PDU 2014-05-20 17:15:26 +02:00
Hardening
c0087832ad Merge pull request #1839 from hardening/base64
Changes for base64
2014-05-20 11:17:47 +02:00
caramorsimon
8e77192ed8 Test for RoutingTokenLength before checking against termination chars 2014-05-18 21:32:26 +01:00
caramorsimon
a561e246e8 Test for CRLF (0x0D0A) termination on the routing token before trying to add it again 2014-05-16 16:19:22 +01:00
Hardening
729c24cedb Adds some support for valgrind helpers
This patch adds an option to compile freerdp in a valgrind compliant way.
The purpose is to ease memchecking when connecting with TLS. We mark bytes
retrieved from SSL_read() as plainly defined to prevent the undefined contamination.
With the patch and the option activated you get a single warning at connection
during the handshake, and nothing after.
2014-05-12 18:01:29 +02:00
Hardening
9f1d0201ec Changes for base64
This patch changes the prototype for decode_base64 so that the encode / decode
method are consistant (encode(BYTE *) => char* and decode(char*) => BYTE*).
It also does some improvements with unrolling loops so that end conditions are
tested only at the end.
The patch also adds some unitary tests.
Before the patch base64_decode() made valgrind complain about uninitialized
bits, after valgrind is happy and very quiet.
2014-05-11 22:49:10 +02:00
Marc-André Moreau
8666e252f0 libfreerdp-common: fix AsyncUpdate get/set 2014-05-10 23:18:43 -04:00
Marc-André Moreau
5e97757939 freerdp: fix improper .rdp file parsing 2014-05-10 17:28:34 -04:00
Marc-André Moreau
b8d60d5715 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-05-10 10:59:56 -04:00
Marc-André Moreau
ee282a931b freerdp: fix build warnings on Windows 2014-05-10 09:50:36 -04:00
Hardening
e79c6b7d68 Treat OOM in GCC certificates
This patch treats OOM cases and do a trivial cleanup
2014-05-09 22:37:47 +02:00
Hardening
50f1f0df6f Add some const modifiers
This allows these functions to be used with const buffers.
2014-05-09 22:36:50 +02:00
Marc-André Moreau
2b27fd51ad Merge branch 'master' of github.com:mrthebunny/FreeRDP 2014-05-08 21:15:02 -04:00
Marc-André Moreau
a202fe4057 freerdp: fix several type related warnings 2014-05-08 18:02:02 -04:00
Marc-André Moreau
49975d7da5 libfreerdp-core: properly reset internal RDP state on reconnect 2014-05-08 17:22:39 -04:00
Marc-André Moreau
1c081c965f Merge branch 'xcrush' of github.com:awakecoding/FreeRDP 2014-05-08 16:11:55 -04:00
Marc-André Moreau
b0a9d7d690 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-05-08 16:11:42 -04:00
Marc-André Moreau
c2bdd5d413 Merge pull request #1825 from hardening/compil_warnings
Fix some compilation warnings
2014-05-08 16:09:18 -04:00
Marc-André Moreau
fab699badb Merge pull request #1835 from SBoyNumber1/rfx-issue1738
Fixed issue rfx problem: no rects #1738.
2014-05-08 16:08:42 -04:00
Marc-André Moreau
0cef8635ff Merge pull request #1822 from hardening/sound_hardening
Fixes in the server-side sound channel
2014-05-08 16:00:52 -04:00
Marc-André Moreau
8b4b506afd Merge pull request #1832 from bmiklautz/feat/channel_funcs
wtsvc: add extended channel handling functions
2014-05-08 15:58:29 -04:00
SBoyNumber1
f8c9f7a486 Fixed issue rfx problem: no rects #1738.
Added clipping of whole session in case when server sends zero rects.
2014-05-08 19:20:28 +03:00
Bernhard Miklautz
ddfce695df wtsvc: use _strnicmp instead of strncasecmp
_strnicmp is available for platforms
2014-05-07 20:36:22 +02:00
Bernhard Miklautz
9229a812bc wtsvc: add extended channel handling functions 2014-05-07 20:20:02 +02:00
Bernhard Miklautz
267d80d0d2 Merge pull request #1830 from hardening/certificate_fix
Fix null certificate that is not an error
2014-05-07 16:28:58 +02:00
Hardening
603a6378ff Fix null certificate that is not an error 2014-05-07 16:12:38 +02:00
Marc-André Moreau
88bee1fa6d libfreerdp-codec: start working on xcrush compressor 2014-05-05 20:47:30 -04:00
Marc-André Moreau
db328a1e93 libfreerdp-codec: initial RDP6.1 XCrush bulk data decompression support 2014-05-05 16:26:31 -04:00
Marc-André Moreau
9162fcc7d8 libfreerdp-codec: start working on XCrush decompressor 2014-05-04 21:50:17 -04:00
Marc-André Moreau
77790874c8 libfreerdp-codec: stub XCrush data compression 2014-05-04 19:46:40 -04:00
Hobby-Student
04ae1c8c76 FreeBSD compile errors - fix timezone 2014-05-02 18:27:03 +02:00
Hobby-Student
5d816027df FreeBSD compile errors - fix typecast 2014-05-01 21:25:33 +02:00
Hobby-Student
18d70c6cda FreeBSD compile errors - add comments 2014-05-01 15:24:11 +02:00
Hobby-Student
b0ab566d61 FreeBSD compile errors - fix typo #2 2014-05-01 15:19:09 +02:00
Hobby-Student
03315cebe8 FreeBSD compile errors 2014-05-01 15:09:35 +02:00
Marc-André Moreau
5b0822a437 libfreerdp-core: avoid reusing LoadBalanceInfo on reconnection 2014-04-30 17:47:37 -04:00
Benoît LeBlanc
c82ece064c Merge branch 'master' of https://github.com/mrthebunny/FreeRDP
# By Marc-André Moreau
# Via Benoit LeBlanc (1) and Marc-André Moreau (1)
* 'master' of https://github.com/mrthebunny/FreeRDP:
  libfreerdp-core: fix potential crash on session redirection failure
2014-04-29 17:34:43 -04:00
Benoît LeBlanc
53694fbeba settings: GatewayBypassLocal TRUE by default 2014-04-29 17:34:34 -04:00
Vic Lee
02595df976 tls: WSAGetLastError should be used on Windows to check system socket error. 2014-04-29 23:05:30 +08:00
Hardening
597cba042a Fix some compilation warnings 2014-04-29 16:02:31 +02:00
Vic Lee
c8848fe4c8 tls: do not kill the connection for non-fatal openssl error codes. 2014-04-29 21:48:11 +08:00
Hardening
9848314a5d More fixes in DSP 2014-04-29 10:32:16 +02:00
Vic Lee
7ed1e8a0f1 drdynvc: fix an incorrect length indicator. 2014-04-29 14:21:37 +08:00
Hardening
a7023769d0 Fixes in the server-side sound channel
This patch:
* treats OOM situations
* adds checks when reading audio channel messages
2014-04-29 01:02:35 +02:00
Marc-André Moreau
c2a59c23a7 libfreerdp-core: fix potential crash on session redirection failure 2014-04-28 16:44:52 -04:00
Marc-André Moreau
cadc3b8d3b Merge pull request #1819 from hardening/orders_micro_fix
Fix typo in update_write_4byte_unsigned()
2014-04-27 21:51:13 -04:00
Hardening
c03c1c75f3 Fix typo in update_write_4byte_unsigned() 2014-04-27 23:21:30 +02:00
Zhang Zhaolong
e40c5ce2ce libfreerdp-core: fix assignment after memory free. 2014-04-27 20:32:52 +08:00
Marc-André Moreau
8c54a436ea libfreerdp-core: fix compression level 2014-04-26 13:53:28 -04:00
Marc-André Moreau
769502ec72 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-04-26 13:47:01 -04:00
Marc-André Moreau
fb3f5e6bd2 libfreerdp-utils: purge deprecated list utils 2014-04-26 12:31:24 -04:00
Zhang Zhaolong
e64a64dcd6 core: fix memory leak in case of error out. 2014-04-26 13:44:28 +08:00
Zhang Zhaolong
cb2fc70a5d codec: fix memory leak in case of realloc() failed. 2014-04-26 12:16:34 +08:00
Zhang Zhaolong
69eee0709d core: fix memory leak in case of error out. 2014-04-26 12:08:30 +08:00
Zhang Zhaolong
24fce3a749 core: fix memory leak in case of error out. 2014-04-26 12:05:52 +08:00
Zhang Zhaolong
8ce32773f3 core: fix memory leak in case of error out. 2014-04-26 12:00:07 +08:00
Marc-André Moreau
3ee6494d36 libfreerdp-core: cleanup GatewayUsageMethod setting 2014-04-24 17:05:10 -04:00
Benoit LeBlanc
9e859ad11f rpc_client_stop() : Avoid waiting infinitely for rpc client thread if connection failure occurs while in "synchronous receive" mode. 2014-04-24 14:07:11 -04:00
Bernhard Miklautz
dee9188191 update and improve pkg-config files
* generate pkg-config files top level to make sure all
  exports are available (eg. client/server)
* .pc libs section is now generated from export libraries
* update .pc file to use .private fields (prevent overlinking)
2014-04-23 13:12:23 +02:00
Bernhard Miklautz
b817e92e5e cmake: mark required libraries for export 2014-04-23 10:16:02 +02:00
Vic Lee
5391275f66 audin/server: fix server audio input channel. 2014-04-22 19:02:23 +08:00
Marc-André Moreau
13d61f341d Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-04-21 16:28:01 -04:00
Marc-André Moreau
784e9abd79 cmake: improve __FILE__ relative path hack 2014-04-21 14:42:24 -04:00
Marc-André Moreau
a21aed8896 Merge pull request #1803 from hardening/www_authenticate_fix
Www authenticate fix
2014-04-21 12:15:35 -04:00
Marc-André Moreau
b15e77c18b Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-04-20 23:23:18 -04:00
Marc-André Moreau
ab7958ffb2 libfreerdp-codec: fix NCrush compressor 2014-04-20 23:19:09 -04:00
Marc-André Moreau
bb656a6e7e Merge branch 'master' of github.com:awakecoding/FreeRDP into ncrush
Conflicts:
	libfreerdp/core/bulk.c
2014-04-20 21:59:10 -04:00
Marc-André Moreau
d08b6fe4bd libfreerdp-codec: fix handling of PACKET_AT_FRONT, PACKET_FLUSHED in MPPC compression 2014-04-20 21:28:09 -04:00
Hardening
4366a2219a Honor bypass local gateway setting
This patch make the bypass local gateway setting works
2014-04-19 23:31:12 +02:00
Hardening
ef38a5e55d Fix multiple WWW-Authenticate headers
This patch fixes the case with the server trying to negociate the authentication
method and returning multiple WWW-Authenticate headers.
2014-04-19 09:14:14 +02:00
Marc-André Moreau
d893cee87a libfreerdp-codec: fix MPPC packet flushing criteria 2014-04-18 01:47:17 -04:00
Bernhard Miklautz
76b7ecd1b7 core/fastpath: fix compiler warning 2014-04-17 12:16:10 +02:00
Bernhard Miklautz
630cb35aa5 transport: fix variable initialization
Fixes possible problem when NLA is enabled and header verification fails.
2014-04-17 12:08:09 +02:00
Hardening
2089eaf0d2 Fix connection when no cookie is given
This patch corrects a regression introduced in 2edd8bee12
2014-04-16 17:04:49 +02:00
Bernhard Miklautz
0cb7874749 Remove config.h inclusion in debug.h
* update msusb to use DEBUG_MSUSB
* remove unused DEBUG_MSG
2014-04-15 18:36:22 +02:00
Marc-André Moreau
09a540b40b libfreerdp-core: remove old, unused extension framework 2014-04-14 14:49:03 -04:00
Marc-André Moreau
94f2a52196 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-04-14 14:17:37 -04:00
Marc-André Moreau
95b4c5619e Merge pull request #1787 from hardening/oom_checks2
Misc fixes to check OOM
2014-04-14 14:19:58 -04:00
Marc-André Moreau
2c752f20fa Merge pull request #1778 from awakecoding/smartcard
Smart Card Complete Overhaul
2014-04-14 14:13:11 -04:00
Benoît LeBlanc
3581d27f08 tcp: (Mac OS X) added setsockopt(SOL_SOCKET, SO_NOSIGPIPE) to prevent the application crashing on a broken socket. 2014-04-10 16:26:44 -04:00
Hardening
2edd8bee12 Misc fixes to check OOM 2014-04-10 21:10:19 +02:00
Norbert Federa
5db9d630de core/server: only enable activated bitmap codecs 2014-04-10 19:13:47 +02:00
Norbert Federa
210985f99e core: fix multifragment update capability exchange 2014-04-10 17:22:06 +02:00
Marc-André Moreau
39f04c870e channels/smartcard: fix some valgrind warnings 2014-04-09 12:28:03 -04:00
Marc-André Moreau
d679932d13 Merge pull request #1775 from maksqwe/license_read_fix
fix check for certificate_read_server_certificate()
2014-04-09 11:11:01 -04:00
Marc-André Moreau
4093f1a715 Merge pull request #1782 from hardening/oom_cases
Treat OOM cases
2014-04-09 10:39:31 -04:00
Hardening
1d1844aabd Treat OOM cases 2014-04-09 16:07:06 +02:00
Hardening
4210890acd Fix corner cases in http parsing
This patch adds checks for malloc / strdup, and free all memory
when such call fails.
2014-04-09 15:00:38 +02:00
Maks Naumov
e6d0a3b2a9 remove unneeded check 2014-04-08 22:48:17 +03:00
Bernhard Miklautz
3720e205b4 core: fixed client random size
client random must be (bitlen / 8) + 8 - see [MS-RDPBCGR] 5.3.4.1

fixes #1771
2014-04-08 19:38:01 +02:00
Maks Naumov
c230fae097 Make certificate_read_server_certificate() return BOOL 2014-04-08 19:23:06 +03:00
Benoit LeBlanc
7e658b9dc4 Fix windows compilation 2014-04-04 10:11:18 -04:00
Benoit LeBlanc
06c55ff7df Merge branch 'master' of https://github.com/mrthebunny/FreeRDP 2014-04-04 10:09:00 -04:00
Benoit LeBlanc
6f99f252d9 Fix windows compilation 2014-04-04 10:08:44 -04:00
Marc-André Moreau
5aa64a08b0 Merge pull request #1769 from nfedera/fix-2014-04-03-01
libfreerdp-core: fix transport_check_fds
2014-04-03 15:58:45 -04:00
Norbert Federa
4e2b696221 libfreerdp-core: fix transport_check_fds
This patch fixes an issue with hung clients connected to FreeRDP server:

- Removed the completely useless inner while loop which used the transport
  receive buffer stream position as break contition: The transport receive
  buffer stream is replaced after each iteration of this loop with a fresh
  instance from a pool which has the position set to 0. Thus it was
  technically impossible that this loop would ever be run twice.

- We must not always return if transport_read_nonblocking returns 0:
  transport_read_nonblocking() is also called in transport_write() and
  therefore it is possible that the stream position of the transport
  receive buffer is already > 0 when entering transport_check_fds.
2014-04-03 21:42:32 +02:00
Martin Haimberger
250a2be8bb Ensures that the static virtual channels are started
before virtual channel data can be received
2014-04-03 06:48:41 -07:00
Bernhard Miklautz
16bc9f4bd1 sec-rdp: fixed cleanup in key error case 2014-04-03 12:18:08 +02:00
Bernhard Miklautz
21c425b79c sec-rdp: limit server side key size to 2048 bit
Current code doesn't handle keys > 2048 bit properly in multiple places.
To prevent problems make sure that no larger keys are used for now.
2014-04-03 11:50:06 +02:00
Bernhard Miklautz
9436d64ff5 sec-rdp: fixed *_establish_keys for keys > 256 bit 2014-04-03 11:36:51 +02:00
Marc-André Moreau
500acb3a20 Merge pull request #1766 from nfedera/fix-2014-04-02-02
libfreerdp-core: fix disconnect reason
2014-04-02 09:20:28 -04:00
Norbert Federa
68db82f7d1 libfreerdp-core: fix disconnect reason 2014-04-02 14:43:47 +02:00
Norbert Federa
18cb418c81 core: FIPS for fastpath and RDP security fixes
- fixed invalid stream position if extEncryptionMethods is not used
- enabled 56bit rdp security method
- fixed entropy reduction of the keys for 40 bit and 56 bit
- added rdp security incl. FIPS for fastpath output
- added FIPS encryption to fast path input
- fixed FIPS key generation in server mode
- fixed stream length correction in FIPS mode
- added rdp encryption for licensing packets (apparently some clients,
  specifically cetsc, require the license packets received from the
  server to be encrypted under certain RDP encryption levels)
- replace errnous virtual extended mouse event in focus in event
2014-04-02 14:17:39 +02:00
Marc-André Moreau
56d75ac892 libfreerdp-core: fix non-C89 declaration 2014-04-01 20:56:34 -04:00
Marc-André Moreau
feea87b42f libfreerdp-crypto: make distinction between TLS connection error and user cancellation 2014-04-01 16:23:27 -04:00
Marc-André Moreau
90a070ac54 libfreerdp-codec: cleanup NCrush debug output 2014-04-01 14:03:12 -04:00
Marc-André Moreau
6ca7fc2894 libfreerdp-codec: fix ncrush_find_best_match 2014-04-01 13:58:39 -04:00
Marc-André Moreau
acf119f9f3 libfreerdp-codec: improve ncrush compressor 2014-04-01 12:18:13 -04:00
Marc-André Moreau
ea543557ab libfreerdp-codec: update ncrush with debug output 2014-03-31 17:04:19 -04:00
Marc-André Moreau
73087f1025 Merge branch 'ncrush' of github.com:awakecoding/FreeRDP into ncrush 2014-03-31 14:48:59 -04:00
Marc-André Moreau
305852b010 libfreerdp-core: start integrating NCrush compressor 2014-03-31 14:48:47 -04:00
Marc-André Moreau
add42dfdb9 libfreerdp-codec: ncrush compressor update 2014-03-30 23:12:07 -04:00
Marc-André Moreau
ed89354da8 libfreerdp-codec: start work on NCrush compressor 2014-03-29 17:55:17 -04:00
Marc-André Moreau
83ddb7b82c libfreerdp-codec: fix unit test compilation 2014-03-29 12:37:16 -04:00
Marc-André Moreau
2524cebfa2 Merge branch 'master' of github.com:mrthebunny/FreeRDP 2014-03-28 12:30:24 -04:00
Benoît LeBlanc
6d55d8859d Added context error codes 2014-03-28 12:23:16 -04:00
Marc-André Moreau
a8551f4008 libfreerdp-core: fix potential issue while reading packet headers 2014-03-27 17:09:26 -04:00
Marc-André Moreau
3f07157637 libfreerdp-core: enforce checking of NLA packets in transport only when expecting NLA 2014-03-27 14:24:15 -04:00
Marc-André Moreau
75302e2cc2 libfreerdp-core: don't set connectErrorCode when there is no error 2014-03-27 11:50:56 -04:00
Marc-André Moreau
00e6463e1e channels/rdpdr: robustness improvements 2014-03-26 11:05:12 -04:00
Marc-André Moreau
797d326252 libfreerdp-core: fix handling of uncompressed packets 2014-03-26 09:16:28 -04:00
Hardening
ac7507ab8d Adds some check to treat OOM problems + RDP security fix
Malloc can fail so it will, this patch adds some check in some places
where malloc/strdup results were not checked.

This patch also contains a server side fix for RDP security (credit to nfedera).
The signature len was badly set in the GCC packet. And some other RDP security
oriented fixes are also there.
2014-03-25 23:13:08 +01:00
Marc-André Moreau
14b75d1b27 libfreerdp-core: fix build warnings and windows broken build 2014-03-25 15:19:52 -04:00
Marc-André Moreau
65ff98bb99 libfreerdp-core: fix /multimon and /span options 2014-03-25 14:39:21 -04:00
Marc-André Moreau
4c920506ed libfreerdp-core: add 'Bypass RD Gateway server for local addresses' feature 2014-03-24 14:44:18 -04:00
Marc-André Moreau
fb12998957 libfreerdp-core: fix context error handling 2014-03-22 17:42:44 -04:00
Benoit LeBlanc
21b5f0e418 Fix windows build 2014-03-21 15:25:00 -04:00
Benoît LeBlanc
4bed3d082f Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-21 14:03:38 -04:00
Benoît LeBlanc
3e1dfc6311 updated context error messages. utility macros for getting error code CLASS/TYPE 2014-03-21 13:45:43 -04:00
Marc-André Moreau
23cb561a53 libfreerdp-core: fix RDP4 compression 2014-03-21 10:27:11 -04:00
Benoît LeBlanc
d1b9565f51 Added context-specific error management.
Added error codes to replace connectErrorCode.
2014-03-20 18:19:54 -04:00
Marc-André Moreau
40ffe51aef Merge branch 'master' of github.com:mrthebunny/FreeRDP 2014-03-20 09:49:51 -04:00
Norbert Federa
52f06250fd libfreerdp-core: fixed transport
Commit 1daea0d0dc introduced an
error: If transport_read_nonblocking returns 0 we may not return
without checking if the ReceiveBuffer is empty.
2014-03-19 21:06:21 +01:00
Benoit LeBlanc
27c753f80c Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-19 11:53:10 -04:00
Norbert Federa
313c97df88 capabilities: fix MultifragMaxRequestSize parsing
- no reason to limit this to RemoteFX
- network and settings values were incorrectly compared
2014-03-19 10:52:05 +01:00
Benoît LeBlanc
af28a35e0d Transport: closing transport before sending stop event caused SSL errors when stopping the session. 2014-03-18 15:27:23 -04:00
Marc-André Moreau
5a0f36b0ce libfreerdp-core: enable RDP6 bulk compression by default 2014-03-17 10:26:22 -04:00
Marc-André Moreau
59ff4db1c7 Merge branch 'master' of github.com:awakecoding/FreeRDP into ncrush 2014-03-17 10:18:56 -04:00
Marc-André Moreau
1184c3c835 Merge pull request #1740 from bmiklautz/bm/fix/msg_channel_id
only process msg channel pdu if msg channel is set
2014-03-17 10:18:27 -04:00
Marc-André Moreau
b23f0dba7f Merge pull request #1730 from divineforge/master
Fixing the E_PROXY_RAP_ACCESSDENIED error
2014-03-17 10:04:23 -04:00
Marc-André Moreau
5951a9178c libfreerdp-codec: remove old NCrush decompressor 2014-03-16 21:16:53 -04:00
Marc-André Moreau
90a135c928 libfreerdp-codec: cleanup new NCrush decompressor 2014-03-16 21:10:57 -04:00
Marc-André Moreau
698cae2052 libfreerdp-codec: start hooking new NCrush decompressor 2014-03-16 20:54:07 -04:00
Marc-André Moreau
20019f10b2 libfreerdp-codec: add NCrush offset cache decoding 2014-03-16 18:14:33 -04:00
Marc-André Moreau
669265d021 libfreerdp-core: initial NCrush decompression support 2014-03-16 18:01:02 -04:00
Marc-André Moreau
882f3098b3 libfreerdp-codec: add more NCrush tables, decode literals and CopyOffsets 2014-03-16 15:51:35 -04:00
Marc-André Moreau
2570e064ce libfreerdp-codec: add NCrush unit tests and tables 2014-03-15 22:18:22 -04:00
Marc-André Moreau
47ed6002f6 libfreerdp-codec: stub ncrush bulk compression 2014-03-15 14:03:05 -04:00
Bernhard Miklautz
59eadb9213 only process msg channel pdu if msg channel is set 2014-03-14 21:56:10 +01:00
Marc-André Moreau
4d9a3dc218 libfreerdp-core: change internal fastpath utils function declarations 2014-03-12 12:09:14 -04:00
Marc-André Moreau
d95f8638b8 libfreerdp-core: enable MPPC compression by default 2014-03-11 22:55:40 -04:00
Marc-André Moreau
786c2afb56 libfreerdp-core: add bulk compression metrics 2014-03-11 22:52:21 -04:00
Marc-André Moreau
88bebd1f15 libfreerdp-core: add support for RDP4 MPPC compression 2014-03-11 22:33:41 -04:00
Marc-André Moreau
85049299e0 libfreerdp-core: improve MPPC compress/decompress function definitions 2014-03-11 21:42:27 -04:00
Marc-André Moreau
37e037ee71 libfreerdp-core: hook new MPPC compressor successfully 2014-03-11 20:58:35 -04:00
Marc-André Moreau
d52acf9099 libfreerdp-core: start hooking new MPPC compressor 2014-03-11 17:52:34 -04:00
Marc-André Moreau
d2ed1793fa libfreerdp-core: cleanup fastpath update fragmentation 2014-03-11 17:25:00 -04:00
Marc-André Moreau
affc5d5cc4 libfreerdp-core: further reduce fastpath output sending 2014-03-11 15:35:15 -04:00
Marc-André Moreau
69534400a6 libfreerdp-core: simplify server-side fastpath fragmentation code 2014-03-11 14:43:28 -04:00
Marc-André Moreau
201bbf5df4 Merge branch 'master' of github.com:awakecoding/FreeRDP into mppc 2014-03-11 11:57:01 -04:00
Marc-André Moreau
8b15db3b66 Merge branch 'master' of github.com:awakecoding/FreeRDP 2014-03-11 11:55:49 -04:00
Marc-André Moreau
b245dea4a8 channels/rdpei: make use of callback interface for Suspend/Resume touch events 2014-03-11 11:55:38 -04:00
Marc-André Moreau
e0966bbfff Merge branch 'master' of github.com:mrthebunny/FreeRDP 2014-03-10 23:08:17 -04:00
Marc-André Moreau
98f98c95e9 libfreerdp-codec: remove old MPPC decompressor, fix RDP4 MPPC 2014-03-10 16:19:47 -04:00
Marc-André Moreau
891a10c4f6 libfreerdp-core: hook new MPPC decompressor 2014-03-10 15:57:39 -04:00
Mike McDonald
1daea0d0dc Modified transport_check_fds to deliver all available PDUs before returning to the caller. This prevents the caller from waiting indefinitely for a socket to get signalled that data is available. It fixes a problem with Microsoft mobile clients connecting to FreeRDS whereby the client places both the MCS Erect Domain and MCS Attach User PDUs into the same ethernet frame. As a result, FreeRDS was only processing the first PDU and then blocking indefinitely waiting for data to arrive on the socket. 2014-03-10 15:35:14 -04:00
Mike McDonald
b4b6a2171d Merge branch 'master' of https://github.com/awakecoding/FreeRDP into awakecoding 2014-03-10 15:11:23 -04:00
Marc-André Moreau
f31676e4e4 libfreerdp-codec: make MPPC compressor produce output identical to Microsoft implementation 2014-03-10 15:06:23 -04:00
Marc-André Moreau
2f756745e9 libfreerdp-core: wrap old MPPC implementation under rdpBulk 2014-03-10 13:15:10 -04:00
Marc-André Moreau
61ecd0ff31 libfreerdp-core: add bulk.c to handle bulk compression in a centralized place 2014-03-10 11:41:10 -04:00
Marc-André Moreau
4310089102 libfreerdp-core: add options for specifying compression level 2014-03-10 11:16:36 -04:00