Commit Graph

6912 Commits

Author SHA1 Message Date
Rene Rheaume
223a9f6124 futimens, while being POSIX-compliant, does not exist on Mac OS X. Added futimes back to address this. 2014-08-07 06:47:33 -04:00
Rene Rheaume
151e5de3d4 Recompressed PNG images again 2014-08-06 23:10:23 -04:00
Rene Rheaume
281ab78481 Recompressed losslessy PNG and JPEG images 2014-08-06 22:37:14 -04:00
Rene Rheaume
5f9c36da5d * Use futimens that is POSIX-compliant and compatible with uclibc instead of futimes.
* Borrowed eventfd_read and eventfd_write from bionic for uclibc compatibility (uclibc headers are broken unfortunately). Bionic and
FreeRDP are both under the Apache 2.0 license.
2014-08-06 22:06:01 -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
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
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
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
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
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
Marc-André Moreau
0fb3bf1dfd winpr/tools/makecert: add pfx support 2014-07-16 17:13:02 -04:00
Bernhard Miklautz
c4c8a3fca7 Merge pull request #1967 from nfedera/fix-2014-07-16-01
core: addd missing PlaySound server callback
2014-07-16 16:17:20 +02:00
Norbert Federa
8482eed323 core: addd missing PlaySound server callback 2014-07-16 15:38:10 +02:00
Bernhard Miklautz
caeea1cbcd Merge pull request #1961 from g-reno/master
android toolchain and CMakeLists.txt update
2014-07-16 11:26:00 +02:00
Vic Lee
0ba59c842d echo: add server echo channel api. 2014-07-15 11:42:12 +08:00
Vic Lee
8df60ecbe4 tls: fix some error handling. 2014-07-15 11:36:35 +08:00
Gerry Reno
3bd1f4898d android CMakeLists.txt: added else clause to test for v7 appcompat 2014-07-14 08:53:20 -04:00
Vic Lee
29cb8680ce server: allow partial channel read (fix rdpsnd). 2014-07-14 20:00:38 +08:00