Bernhard Miklautz [Wed, 30 Jul 2014 17:45:12 +0000 (19:45 +0200)]
Merge pull request #1985 from bmiklautz/fix/warnings
Fix compiler warnings and build
Hardening [Wed, 30 Jul 2014 08:14:56 +0000 (10:14 +0200)]
Merge pull request #2008 from itharbor/master
rdpsnd->Initialize requires two arguments
Robert Lockwood [Tue, 29 Jul 2014 22:30:47 +0000 (23:30 +0100)]
rdpsnd->Initialize requires two arguments
Fixes rdpsnd->Initialize() to have two arguments. Fixes compilation on XCode 5. To be tested.
Bernhard Miklautz [Wed, 23 Jul 2014 21:53:43 +0000 (23:53 +0200)]
fix comment style
// to /* */
Bernhard Miklautz [Wed, 23 Jul 2014 18:22:30 +0000 (20:22 +0200)]
Fix warnings found in Xcode
Bernhard Miklautz [Wed, 23 Jul 2014 17:08:30 +0000 (19:08 +0200)]
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.
Bernhard Miklautz [Wed, 23 Jul 2014 17:08:06 +0000 (19:08 +0200)]
fix compiler warnings
Bernhard Miklautz [Wed, 23 Jul 2014 15:26:49 +0000 (17:26 +0200)]
Fix compiler warnings.
This commit is based on pull request #1493
Marc-André Moreau [Mon, 28 Jul 2014 20:32:06 +0000 (16:32 -0400)]
Merge pull request #1982 from bmiklautz/feat/read_pdu
Transport re-factor and clean up
Marc-André Moreau [Mon, 28 Jul 2014 20:08:10 +0000 (16:08 -0400)]
Merge pull request #2005 from nfedera/fix-2014-07-28-01
OpenSSL thread safety
Norbert Federa [Mon, 28 Jul 2014 19:55:57 +0000 (21:55 +0200)]
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).
Marc-André Moreau [Mon, 28 Jul 2014 19:55:18 +0000 (15:55 -0400)]
Merge pull request #2000 from jbd1986/master
remove multimon/span logic from cmdline.c and move to new combined logic...
Justin DeFields [Mon, 28 Jul 2014 19:24:48 +0000 (15:24 -0400)]
Move multimon/span logic from cmdline.c to client.c post processing
Marc-André Moreau [Mon, 28 Jul 2014 18:49:26 +0000 (14:49 -0400)]
Merge pull request #2004 from bmiklautz/fix/cmd_post
Fix/cmd post
Bernhard Miklautz [Mon, 28 Jul 2014 16:49:18 +0000 (18:49 +0200)]
return status instead of returning directly
Bernhard Miklautz [Mon, 28 Jul 2014 15:57:51 +0000 (17:57 +0200)]
cmdline post: cleanup in case of oom
Bernhard Miklautz [Mon, 28 Jul 2014 15:52:40 +0000 (17:52 +0200)]
fix freerdp_client_settings_post_processing
Bernhard Miklautz [Mon, 28 Jul 2014 11:12:01 +0000 (13:12 +0200)]
fix: typos and formating
Marc-André Moreau [Fri, 25 Jul 2014 14:40:33 +0000 (10:40 -0400)]
Merge pull request #1991 from jbd1986/master-split-cmdline-special-items
Apply GatewayUseSameCredentials logic to RDP file parsing as well
Justin DeFields [Thu, 24 Jul 2014 20:07:14 +0000 (16:07 -0400)]
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
Marc-André Moreau [Thu, 24 Jul 2014 19:34:06 +0000 (15:34 -0400)]
Merge pull request #1990 from nfedera/fix-2014-07-24-01
winpr/sync: Added InitOnceExecuteOnce plus CTest
Norbert Federa [Thu, 24 Jul 2014 19:07:44 +0000 (21:07 +0200)]
winpr/sync: Added InitOnceExecuteOnce plus CTest
Hardening [Thu, 24 Jul 2014 16:10:50 +0000 (18:10 +0200)]
Merge pull request #1989 from bmiklautz/feat/fast-path
core: improve fast-path multifragment handling
Bernhard Miklautz [Tue, 22 Jul 2014 17:14:43 +0000 (19:14 +0200)]
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.
Bernhard Miklautz [Tue, 22 Jul 2014 09:19:38 +0000 (11:19 +0200)]
transport refactor
rename transport_read to transport_read_pdu. This name is more
descriptive what the function actually does.
Bernhard Miklautz [Thu, 24 Jul 2014 14:29:46 +0000 (16:29 +0200)]
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
Bernhard Miklautz [Tue, 22 Jul 2014 23:00:00 +0000 (01:00 +0200)]
Merge pull request #1973 from floppym/file-modes
Remove execute bit from many files
Mike Gilbert [Sun, 20 Jul 2014 04:52:35 +0000 (00:52 -0400)]
Remove execute bit from many files
Bernhard Miklautz [Fri, 18 Jul 2014 09:14:18 +0000 (11:14 +0200)]
Merge pull request #1970 from dbungert/cipher
Add arguments for managing tls ciphers & netmon
Marc-André Moreau [Thu, 17 Jul 2014 21:46:15 +0000 (17:46 -0400)]
Merge pull request #1971 from awakecoding/master
Win32 Visual Studio Version + Toolset Fixes, makecert improvements
Marc-André Moreau [Thu, 17 Jul 2014 21:34:51 +0000 (17:34 -0400)]
winpr-pool: fix header on non-Windows
Marc-André Moreau [Thu, 17 Jul 2014 21:30:36 +0000 (17:30 -0400)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP
Marc-André Moreau [Thu, 17 Jul 2014 20:47:29 +0000 (16:47 -0400)]
winpr/makecert: improve command line options
Marc-André Moreau [Thu, 17 Jul 2014 19:11:04 +0000 (15:11 -0400)]
winpr: improve windows builds across visual studio versions and toolsets
Marc-André Moreau [Thu, 17 Jul 2014 16:02:47 +0000 (12:02 -0400)]
winpr: fix build on Windows with unit tests
Daniel Bungert [Thu, 17 Jul 2014 12:59:06 +0000 (06:59 -0600)]
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.
Marc-André Moreau [Wed, 16 Jul 2014 21:13:02 +0000 (17:13 -0400)]
winpr/tools/makecert: add pfx support
Bernhard Miklautz [Wed, 16 Jul 2014 14:17:20 +0000 (16:17 +0200)]
Merge pull request #1967 from nfedera/fix-2014-07-16-01
core: addd missing PlaySound server callback
Norbert Federa [Wed, 16 Jul 2014 13:38:10 +0000 (15:38 +0200)]
core: addd missing PlaySound server callback
Bernhard Miklautz [Wed, 16 Jul 2014 09:26:00 +0000 (11:26 +0200)]
Merge pull request #1961 from g-reno/master
android toolchain and CMakeLists.txt update
Vic Lee [Tue, 15 Jul 2014 03:42:12 +0000 (11:42 +0800)]
echo: add server echo channel api.
Vic Lee [Tue, 15 Jul 2014 03:36:35 +0000 (11:36 +0800)]
tls: fix some error handling.
Gerry Reno [Mon, 14 Jul 2014 12:53:20 +0000 (08:53 -0400)]
android CMakeLists.txt: added else clause to test for v7 appcompat
Vic Lee [Mon, 14 Jul 2014 12:00:38 +0000 (20:00 +0800)]
server: allow partial channel read (fix rdpsnd).
Gerry Reno [Mon, 14 Jul 2014 11:58:32 +0000 (07:58 -0400)]
android toolchain: add back setting of ANDROID_SDK
Bernhard Miklautz [Mon, 14 Jul 2014 08:49:07 +0000 (10:49 +0200)]
Merge pull request #1960 from akallabeth/android-build-script-fix
Android build setup script fixes
Bernhard Miklautz [Mon, 14 Jul 2014 08:47:40 +0000 (10:47 +0200)]
Merge pull request #1958 from akallabeth/android-bookmark-fix
Android bookmark fix
Gerry Reno [Sun, 13 Jul 2014 18:54:48 +0000 (14:54 -0400)]
android CMakeLists.txt: added support for both 'support' and 'compatibility' in support library path for v7 appcompat
supports path styles:
$ANDROID_SDK/extras/android/support/v7/appcompat
$ANDROID_SDK/extras/android/compatibility/v7/appcompat
Gerry Reno [Sun, 13 Jul 2014 12:40:58 +0000 (08:40 -0400)]
cmake: android toolchain set ANDROID_DEFAULT_NDK_API_LEVEL 9
Gerry Reno [Sun, 13 Jul 2014 12:34:48 +0000 (08:34 -0400)]
cmake: android toolchain update to latest upstream
AndroidToolchain.cmake: updated from https://github.com/taka-no-me/android-cmake/raw/master/android.toolchain.cmake
Armin Novak [Sun, 13 Jul 2014 11:35:11 +0000 (13:35 +0200)]
* Fixed android setup script, if run as update. (git fetch instead of git pull)
* Checking return of openssl build now and inform about build errors.
Marc-André Moreau [Fri, 11 Jul 2014 20:35:11 +0000 (16:35 -0400)]
Merge pull request #1917 from SBoyNumber1/BitmapCacheV3OnAndroid
Added detect of uncompressed data in CACHE_BITMAP_REV3_ORDER. According ...
Marc-André Moreau [Fri, 11 Jul 2014 20:34:43 +0000 (16:34 -0400)]
Merge pull request #1948 from jbd1986/fix-french-canadian
I am making several changes to clean up French Canadian keyboard defs.
Armin Novak [Fri, 11 Jul 2014 16:49:40 +0000 (18:49 +0200)]
Removed unused code.
Armin Novak [Fri, 11 Jul 2014 16:49:20 +0000 (18:49 +0200)]
Fixed wrong visibility setting of bookmark list view
Bernhard Miklautz [Fri, 11 Jul 2014 14:41:31 +0000 (16:41 +0200)]
Merge pull request #1950 from hardening/kill_select
kill the last remaining select() in libfreerdp
Norbert Federa [Fri, 11 Jul 2014 14:35:12 +0000 (16:35 +0200)]
Merge pull request #1955 from nfedera/fix-2014-07-10-02
winpr: CloseHandle did not release the thread TCB
Bernhard Miklautz [Fri, 11 Jul 2014 13:08:10 +0000 (15:08 +0200)]
Merge pull request #1954 from nfedera/fix-2014-07-10-01
transport_read: ensure stream buf size >= pdu size
Bernhard Miklautz [Fri, 11 Jul 2014 11:21:12 +0000 (13:21 +0200)]
Merge pull request #1823 from akallabeth/cmake-library-noversion
Build library without SOVERSION
Armin Novak [Fri, 11 Jul 2014 11:07:36 +0000 (13:07 +0200)]
Now usin ON/OFF to set library versioning.
Armin Novak [Tue, 29 Apr 2014 07:42:18 +0000 (09:42 +0200)]
Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
Marc-André Moreau [Thu, 10 Jul 2014 21:45:43 +0000 (17:45 -0400)]
Merge pull request #1957 from hardening/ssl_deco_fix
Fix unclean SSL disconnection
Hardening [Thu, 10 Jul 2014 21:35:11 +0000 (23:35 +0200)]
Fix unclean SSL disconnection
This patch prevent an infinite loop when the remote peer disconnect
the socket without cleanly closing the SSL connection.
Marc-André Moreau [Thu, 10 Jul 2014 21:02:43 +0000 (17:02 -0400)]
Merge pull request #1956 from bmiklautz/feat/monolithic
monolithic winpr
Bernhard Miklautz [Thu, 10 Jul 2014 15:40:27 +0000 (17:40 +0200)]
winpr: fix handling of absolute include paths
Don't prefix include paths if it is absolute
Norbert Federa [Thu, 10 Jul 2014 10:28:35 +0000 (12:28 +0200)]
winpr: CloseHandle did not release the thread TCB
This resulted in huge memory leaks - 8MB per thread, depending on
the system's default stack size.
The leak happend even if CloseHandle() was correctly used to "detach"
the thread but WaitForSingleObject was never called.
Norbert Federa [Thu, 10 Jul 2014 10:09:48 +0000 (12:09 +0200)]
transport_read: ensure stream buf size >= pdu size
Without this check a simple nc < /dev/urandom server:3389 could
kill the server instantly.
Bernhard Miklautz [Wed, 9 Jul 2014 22:03:20 +0000 (00:03 +0200)]
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.
Marc-André Moreau [Thu, 10 Jul 2014 00:26:03 +0000 (20:26 -0400)]
Merge pull request #1953 from awakecoding/master
Fix _aligned_realloc() when resizing to smaller size
Marc-André Moreau [Thu, 10 Jul 2014 00:10:33 +0000 (20:10 -0400)]
libwinpr-crt: fix realloc to smaller size
Justin DeFields [Wed, 9 Jul 2014 14:09:43 +0000 (10:09 -0400)]
Fixed typo and changed Canadian French (legacy) to 0x00000c0c which most online docs support.
Hardening [Wed, 9 Jul 2014 09:28:41 +0000 (11:28 +0200)]
kill the last remaining select() in libfreerdp
Justin DeFields [Tue, 8 Jul 2014 20:51:50 +0000 (16:51 -0400)]
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.
Marc-André Moreau [Tue, 8 Jul 2014 20:12:03 +0000 (16:12 -0400)]
Merge pull request #1947 from awakecoding/egfx
[MS-RDPEGFX] ClearCodec, H264, YCbCr
Marc-André Moreau [Tue, 8 Jul 2014 19:59:23 +0000 (15:59 -0400)]
libfreerdp-codec: fix strict aliasing warnings in ncrush code
Marc-André Moreau [Tue, 8 Jul 2014 19:48:29 +0000 (15:48 -0400)]
libfreerdp-codec: fix build bot warnings
Marc-André Moreau [Tue, 8 Jul 2014 19:07:19 +0000 (15:07 -0400)]
libfreerdp-gdi: migrate to _aligned_malloc/_aligned_free
Marc-André Moreau [Tue, 8 Jul 2014 16:29:30 +0000 (12:29 -0400)]
Merge branch 'master' of github.com:FreeRDP/FreeRDP into egfx
Marc-André Moreau [Tue, 8 Jul 2014 16:29:08 +0000 (12:29 -0400)]
libfreerdp-client: cleanup gfx options
Marc-André Moreau [Tue, 8 Jul 2014 16:20:30 +0000 (12:20 -0400)]
Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx
Marc-André Moreau [Tue, 8 Jul 2014 16:18:41 +0000 (12:18 -0400)]
libfreerdp-codec: don't use posix_memalign
Marc-André Moreau [Tue, 8 Jul 2014 16:13:11 +0000 (12:13 -0400)]
Merge branch 'master' of https://github.com/dpoe/FreeRDP into egfx
Marc-André Moreau [Tue, 8 Jul 2014 15:37:27 +0000 (11:37 -0400)]
libfreerdp-codec: reduce ClearCodec memory usage
Bernhard Miklautz [Tue, 8 Jul 2014 14:36:54 +0000 (16:36 +0200)]
Merge pull request #1944 from nfedera/fix-2014-07-07-01
xfreerdp: xfixes selection ownership notification
Bernhard Miklautz [Tue, 8 Jul 2014 14:36:04 +0000 (16:36 +0200)]
Merge pull request #1942 from hardening/kill_select
Use poll() instead of select() when available
Bernhard Miklautz [Tue, 8 Jul 2014 10:54:16 +0000 (12:54 +0200)]
Merge pull request #1946 from akallabeth/android-openssl-build-tag
Openssl makefile repo now checked out with specific TAG.
Armin Novak [Tue, 8 Jul 2014 10:44:35 +0000 (12:44 +0200)]
Updated OpenSSL tag to 1.0.1h-fips-2.0.7
Using ndk-build from ANDROID_NDK now if available, fallback to path.
Armin Novak [Tue, 8 Jul 2014 08:20:13 +0000 (10:20 +0200)]
Openssl makefile repo now checked out with specific TAG.
Marc-André Moreau [Tue, 8 Jul 2014 02:24:17 +0000 (22:24 -0400)]
libfreerdp-codec: fix C++ headers
Marc-André Moreau [Mon, 7 Jul 2014 20:50:19 +0000 (16:50 -0400)]
libfreerdp-codec: fix ClearCodec short vbar cache hit
Marc-André Moreau [Mon, 7 Jul 2014 19:48:56 +0000 (15:48 -0400)]
libfreerdp-codec: improve ClearCodec error checking
Norbert Federa [Mon, 7 Jul 2014 18:26:41 +0000 (20:26 +0200)]
xfreerdp: xfixes selection ownership notification
The X11 core protocol does not have support for selection ownership
notifications. Until now xfreerdp worked around this issue by always sending
a format list pdu to the server after sending the format data response pdu
which makes the server side think that the clients clipboard data has changed.
This workaround has some severe drawbacks:
* it causes unnecessary data transfers because even without local clipboard
data changes the same data is always re-transferred over the channel
* with some clipboard managers (in the server sessions) you will get massive
endless data transfer loops because these managers immediately request the
data on clipboard changes.
The correct (core X11) way would be polling for selection ownership changes
which must include the ability to detect changes to the TIMESTAMP target if
the selection owner did not change.
The alternative to the poll based approach is using the X Fixes extension in
order to get selection ownership notifications.
This commit adds support for the XFIXES solution and also moves the complete
clipboard related event handling from xf_event.c to xf_cliprdr.c
Marc-André Moreau [Mon, 7 Jul 2014 18:16:05 +0000 (14:16 -0400)]
libfreerdp-codec: fix ClearCodec RLEX decoding
Marc-André Moreau [Mon, 7 Jul 2014 16:17:37 +0000 (12:17 -0400)]
libfreerdp-codec: ClearCodec fix error codes and wrapping around of cursors
Hardening [Mon, 7 Jul 2014 12:50:05 +0000 (14:50 +0200)]
Add a guard on nCount with MAXIMUM_WAIT_OBJECTS + cosmetic fixes
Hardening [Mon, 7 Jul 2014 08:44:57 +0000 (10:44 +0200)]
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.
Martin Fleisz [Mon, 7 Jul 2014 07:46:00 +0000 (09:46 +0200)]
Merge pull request #1933 from akallabeth/android-localized-assets
Android localized assets
Marc-André Moreau [Sat, 5 Jul 2014 20:29:28 +0000 (16:29 -0400)]
libfreerdp-codec: fix some ClearCodec flag checking
Marc-André Moreau [Sat, 5 Jul 2014 19:35:37 +0000 (15:35 -0400)]
Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx
Marc-André Moreau [Sat, 5 Jul 2014 19:33:13 +0000 (15:33 -0400)]
Merge pull request #1941 from eledoux/master
Serial ports redirection based on winpr-comm