Commit Graph

1403 Commits

Author SHA1 Message Date
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