Marc-André Moreau
161e7b0026
libfreerdp-codec: simplify zgfx segment processing
2014-06-05 14:52:27 -04:00
Marc-André Moreau
5f18f06e6f
Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
2014-06-04 19:05:04 -04:00
Vic Lee
63a1af4b35
transport: fix incorrect retval that caused unexpected redirect.
2014-06-04 15:57:27 +08:00
Martin Fleisz
d8061d23d6
Merge pull request #1882 from hardening/nla_fix
...
Nla fix
2014-06-04 09:30:34 +02:00
Marc-André Moreau
d6e955e6f1
channels/rdpgfx: stub bitmap decompression
2014-06-03 20:51:28 -04:00
Marc-André Moreau
a50e4d16fc
libfreerdp-codec: integrate basic RDP8 decompression support
2014-06-03 14:29:55 -04:00
Marc-André Moreau
abd833c27e
libfreerdp-codec: stub new ZGFX (RDP8) bulk compressor/decompressor
2014-06-03 13:38:10 -04:00
Martin Fleisz
6f1f4be0ae
Merge pull request #1873 from hardening/WTSVirtualChannelWriteCallers
...
Don't use NULL for pWrittenBytes when calling WTSVirtualChannelWrite()
2014-06-03 16:40:05 +02:00
Hardening
462a26c8c3
Don't leak cert in case of failure
2014-06-03 15:19:00 +02:00
Hardening
a607b4553d
Fix certificate leak
...
There were a leak when doing TLS in server mode
2014-06-03 14:59:58 +02:00
Hardening
183155dbd1
Fix metrics leak
2014-06-03 14:54:56 +02:00
Hardening
4f1b77408a
Fix NLA authentication for server-side
...
This patch make copies of the server public key so that the NLA
authentication can be performed server-side.
2014-06-03 11:04:35 +02:00
Marc-André Moreau
04968b18c4
libfreerdp-core: replace all OpenSSL built-in BIOs by new full duplex BIOs
2014-06-01 21:37:20 -04:00
Marc-André Moreau
a8be174e03
libfreerdp-core: remove ineffective full duplex locks
2014-06-01 11:20:13 -04:00
Marc-André Moreau
1ac2350ec5
libfreerdp-core: fail more gracefully when transport thread dies
2014-06-01 10:46:43 -04:00
Marc-André Moreau
c5e4c74bb6
libfreerdp-core: fix build on Windows
2014-05-30 15:29:06 -04:00
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
Marc-André Moreau
8c54a436ea
libfreerdp-core: fix compression level
2014-04-26 13:53:28 -04:00
Marc-André Moreau
769502ec72
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2014-04-26 13:47:01 -04:00
Marc-André Moreau
fb3f5e6bd2
libfreerdp-utils: purge deprecated list utils
2014-04-26 12:31:24 -04:00
Zhang Zhaolong
e64a64dcd6
core: fix memory leak in case of error out.
2014-04-26 13:44:28 +08:00
Zhang Zhaolong
cb2fc70a5d
codec: fix memory leak in case of realloc() failed.
2014-04-26 12:16:34 +08:00
Zhang Zhaolong
69eee0709d
core: fix memory leak in case of error out.
2014-04-26 12:08:30 +08:00
Zhang Zhaolong
24fce3a749
core: fix memory leak in case of error out.
2014-04-26 12:05:52 +08:00
Zhang Zhaolong
8ce32773f3
core: fix memory leak in case of error out.
2014-04-26 12:00:07 +08:00
Marc-André Moreau
3ee6494d36
libfreerdp-core: cleanup GatewayUsageMethod setting
2014-04-24 17:05:10 -04:00
Benoit LeBlanc
9e859ad11f
rpc_client_stop() : Avoid waiting infinitely for rpc client thread if connection failure occurs while in "synchronous receive" mode.
2014-04-24 14:07:11 -04:00
Bernhard Miklautz
dee9188191
update and improve pkg-config files
...
* generate pkg-config files top level to make sure all
exports are available (eg. client/server)
* .pc libs section is now generated from export libraries
* update .pc file to use .private fields (prevent overlinking)
2014-04-23 13:12:23 +02:00
Bernhard Miklautz
b817e92e5e
cmake: mark required libraries for export
2014-04-23 10:16:02 +02:00
Vic Lee
5391275f66
audin/server: fix server audio input channel.
2014-04-22 19:02:23 +08:00
Marc-André Moreau
13d61f341d
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2014-04-21 16:28:01 -04:00
Marc-André Moreau
784e9abd79
cmake: improve __FILE__ relative path hack
2014-04-21 14:42:24 -04:00
Marc-André Moreau
a21aed8896
Merge pull request #1803 from hardening/www_authenticate_fix
...
Www authenticate fix
2014-04-21 12:15:35 -04:00
Marc-André Moreau
b15e77c18b
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2014-04-20 23:23:18 -04:00
Marc-André Moreau
ab7958ffb2
libfreerdp-codec: fix NCrush compressor
2014-04-20 23:19:09 -04:00
Marc-André Moreau
bb656a6e7e
Merge branch 'master' of github.com:awakecoding/FreeRDP into ncrush
...
Conflicts:
libfreerdp/core/bulk.c
2014-04-20 21:59:10 -04:00
Marc-André Moreau
d08b6fe4bd
libfreerdp-codec: fix handling of PACKET_AT_FRONT, PACKET_FLUSHED in MPPC compression
2014-04-20 21:28:09 -04:00
Hardening
4366a2219a
Honor bypass local gateway setting
...
This patch make the bypass local gateway setting works
2014-04-19 23:31:12 +02:00
Hardening
ef38a5e55d
Fix multiple WWW-Authenticate headers
...
This patch fixes the case with the server trying to negociate the authentication
method and returning multiple WWW-Authenticate headers.
2014-04-19 09:14:14 +02:00
Marc-André Moreau
d893cee87a
libfreerdp-codec: fix MPPC packet flushing criteria
2014-04-18 01:47:17 -04:00
Bernhard Miklautz
76b7ecd1b7
core/fastpath: fix compiler warning
2014-04-17 12:16:10 +02:00
Bernhard Miklautz
630cb35aa5
transport: fix variable initialization
...
Fixes possible problem when NLA is enabled and header verification fails.
2014-04-17 12:08:09 +02:00
Hardening
2089eaf0d2
Fix connection when no cookie is given
...
This patch corrects a regression introduced in 2edd8bee12
2014-04-16 17:04:49 +02:00
Bernhard Miklautz
0cb7874749
Remove config.h inclusion in debug.h
...
* update msusb to use DEBUG_MSUSB
* remove unused DEBUG_MSG
2014-04-15 18:36:22 +02:00
Marc-André Moreau
09a540b40b
libfreerdp-core: remove old, unused extension framework
2014-04-14 14:49:03 -04:00
Marc-André Moreau
94f2a52196
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2014-04-14 14:17:37 -04:00
Marc-André Moreau
95b4c5619e
Merge pull request #1787 from hardening/oom_checks2
...
Misc fixes to check OOM
2014-04-14 14:19:58 -04:00
Marc-André Moreau
2c752f20fa
Merge pull request #1778 from awakecoding/smartcard
...
Smart Card Complete Overhaul
2014-04-14 14:13:11 -04:00
Benoît LeBlanc
3581d27f08
tcp: (Mac OS X) added setsockopt(SOL_SOCKET, SO_NOSIGPIPE) to prevent the application crashing on a broken socket.
2014-04-10 16:26:44 -04:00
Hardening
2edd8bee12
Misc fixes to check OOM
2014-04-10 21:10:19 +02:00
Norbert Federa
5db9d630de
core/server: only enable activated bitmap codecs
2014-04-10 19:13:47 +02:00