Commit Graph

6931 Commits

Author SHA1 Message Date
erbth
a8257b5201 fixed some memory leaks arround DVC and RDPEGFX 2014-08-08 15:19:49 +02: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
Marc-André Moreau
ad56b6630e Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx 2014-07-29 09:54:29 -04:00
Marc-André Moreau
a3de93d867 libfreerdp-codec: start parsing progressive codec 2014-07-28 23:41:16 -04: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
Marc-André Moreau
e65f8b119d Merge pull request #2005 from nfedera/fix-2014-07-28-01
OpenSSL thread safety
2014-07-28 16:08:10 -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
Marc-André Moreau
4dd4d41a3f Merge pull request #2000 from jbd1986/master
remove multimon/span logic from cmdline.c and move to new combined logic...
2014-07-28 15:55:18 -04:00
Justin DeFields
65aab2569d Move multimon/span logic from cmdline.c to client.c post processing 2014-07-28 15:24:48 -04:00
Marc-André Moreau
1c1ef01691 Merge pull request #2004 from bmiklautz/fix/cmd_post
Fix/cmd post
2014-07-28 14:49:26 -04:00
Bernhard Miklautz
ff26a90489 return status instead of returning directly 2014-07-28 18:49:18 +02:00
Bernhard Miklautz
32bb18152a cmdline post: cleanup in case of oom 2014-07-28 17:57:51 +02:00
Bernhard Miklautz
f06490b426 fix freerdp_client_settings_post_processing 2014-07-28 17:52:40 +02:00
Bernhard Miklautz
b17045ddd8 fix: typos and formating 2014-07-28 13:12:01 +02:00
Marc-André Moreau
2036b443eb libwinpr-wtsapi: fix WtsApi32.dll dynamic loading on Windows 2014-07-26 15:23:39 -04:00
Marc-André Moreau
ef04373628 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-07-26 14:43:10 -04:00
Marc-André Moreau
6812383d05 Merge pull request #1991 from jbd1986/master-split-cmdline-special-items
Apply GatewayUseSameCredentials logic to RDP file parsing as well
2014-07-25 10:40:33 -04:00
Justin DeFields
2e859a5d14 Removed GatewayUseSameCredentials logic from cmdline.c, and placed it after both cmdline and rpd file have been parsed. This provides proper GatewayUseSameCredentials support for the rdp file 2014-07-24 16:07:14 -04:00
Marc-André Moreau
c544e9ee9f Merge pull request #1990 from nfedera/fix-2014-07-24-01
winpr/sync: Added InitOnceExecuteOnce plus CTest
2014-07-24 15:34:06 -04:00
Norbert Federa
fae8f6fbf2 winpr/sync: Added InitOnceExecuteOnce plus CTest 2014-07-24 21:12:59 +02:00
Hardening
fb4a64bc4a Merge pull request #1989 from bmiklautz/feat/fast-path
core: improve fast-path multifragment handling
2014-07-24 18:10: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
Bernhard Miklautz
f9fbbe23ff Merge pull request #1973 from floppym/file-modes
Remove execute bit from many files
2014-07-23 01:00:00 +02:00
Mike Gilbert
ae1fdf6153 Remove execute bit from many files 2014-07-20 00:52:35 -04:00
Benoit LeBlanc
653d52bff3 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-07-18 12:02:52 -04:00
Bernhard Miklautz
18ead81b47 Merge pull request #1970 from dbungert/cipher
Add arguments for managing tls ciphers & netmon
2014-07-18 11:14:18 +02:00
Marc-André Moreau
128a21a273 Merge pull request #1971 from awakecoding/master
Win32 Visual Studio Version + Toolset Fixes, makecert improvements
2014-07-17 17:46:15 -04:00
Marc-André Moreau
19c25cf2b4 winpr-pool: fix header on non-Windows 2014-07-17 17:34:51 -04:00
Marc-André Moreau
7b80187cdc Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-07-17 17:30:36 -04:00
Marc-André Moreau
a23d5ea527 winpr/makecert: improve command line options 2014-07-17 16:47:29 -04:00
Marc-André Moreau
e6f4754ed3 winpr: improve windows builds across visual studio versions and toolsets 2014-07-17 15:11:04 -04:00
Marc-André Moreau
4f4603133e winpr: fix build on Windows with unit tests 2014-07-17 12:02:47 -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