Commit Graph

6973 Commits

Author SHA1 Message Date
Marc-André Moreau
54264936d1 shadow: improve synchronization barrier usage 2014-08-08 20:51:26 -04:00
Marc-André Moreau
8b4cf07c8a shadow: make use of synchronization barrier 2014-08-08 18:47:46 -04:00
Marc-André Moreau
edde16e9d5 libwinpr-synch: add initial synchronization barrier implementation 2014-08-08 17:34:30 -04:00
Marc-André Moreau
fdab87cba0 shadow: improve invalid region detection 2014-08-07 12:36:45 -04:00
Marc-André Moreau
d9d9bf3609 shadow: start detecting invalid regions manually 2014-08-06 17:51:38 -04:00
Marc-André Moreau
4f41f03ad7 shadow: fix X11 non-XShm support 2014-08-06 14:18:34 -04:00
Marc-André Moreau
9838200068 libfreerdp-core: fix unix domain socket support 2014-08-06 12:08:00 -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
Bernhard Miklautz
362c992f33 Merge pull request #2011 from nfedera/fix-2014-07-31-01
winpr/utils/ssl: fix comp warning and wrong param
2014-07-31 11:43:01 +02:00
Norbert Federa
9bde12f26a winpr/utils/ssl: fix comp warning and wrong param 2014-07-31 11:22:46 +02:00
Bernhard Miklautz
74b5f2c23b Merge pull request #1985 from bmiklautz/fix/warnings
Fix compiler warnings and build
2014-07-30 19:45:12 +02:00
Hardening
7e98a75274 Merge pull request #2008 from itharbor/master
rdpsnd->Initialize requires two arguments
2014-07-30 10:14:56 +02:00
Robert Lockwood
b05c43c602 rdpsnd->Initialize requires two arguments
Fixes rdpsnd->Initialize() to have two arguments.  Fixes compilation on XCode 5.  To be tested.
2014-07-29 23:30:47 +01:00
Marc-André Moreau
c060fb07a2 libfreerdp-codec: fix build on Windows 2014-07-29 13:41:21 -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
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
352dbd52e2 winpr/comm: don't build on apple
Since code is only defined on linux building comm causes /usr/bin/ranlib
to warn about empty objects and the test doesn't build at all on apple.
2014-07-29 05:22:29 +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
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