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
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
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
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
1c081c965f
Merge branch 'xcrush' of github.com:awakecoding/FreeRDP
2014-05-08 16:11:55 -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
Bernhard Miklautz
9229a812bc
wtsvc: add extended channel handling functions
2014-05-07 20:20:02 +02:00
itsmikeeng
b65e8ac195
Fixed padding
2014-05-07 10:50:14 -07:00
Marc-André Moreau
88bee1fa6d
libfreerdp-codec: start working on xcrush compressor
2014-05-05 20:47:30 -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
Hardening
9848314a5d
More fixes in DSP
2014-04-29 10:32:16 +02: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
fb3f5e6bd2
libfreerdp-utils: purge deprecated list utils
2014-04-26 12:31:24 -04:00
Marc-André Moreau
3ee6494d36
libfreerdp-core: cleanup GatewayUsageMethod setting
2014-04-24 17:05:10 -04:00
Marc-André Moreau
2cdc0e207c
channels/rail: add missing definitions
2014-04-22 17:21:14 -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
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
a83ccfd365
Merge branch 'master' of github.com:FreeRDP/FreeRDP into smartcard
2014-04-08 23:53:45 -04:00
Marc-André Moreau
46686d391f
channels/smartcard: harden parsing of expected padding
2014-04-08 22:10:21 -04:00
Marc-André Moreau
9de2a85f6a
channels/smartcard: add async irp processing
2014-04-05 17:51:13 -04:00
Marc-André Moreau
2aa248853a
channels/smartcard: cancel outstanding IRPs on re-initialization
2014-04-05 17:15:17 -04:00
Marc-André Moreau
70b490d05c
channels/smartcard: add outstanding irp list
2014-04-05 16:57:31 -04:00
Marc-André Moreau
600218dfb2
channels/smartcard: cleanup ConnectA/ConnectW parsing
2014-04-05 16:06:46 -04:00
Marc-André Moreau
f9ada64587
libwinpr-smartcard: fix compilation on Windows
2014-04-04 16:45:11 -04:00
Martin Haimberger
250a2be8bb
Ensures that the static virtual channels are started
...
before virtual channel data can be received
2014-04-03 06:48:41 -07:00
Marc-André Moreau
42a88b93dd
libfreerdp-crypto: fix tls_verify_certificate declaration
2014-04-01 21:17:44 -04:00
Marc-André Moreau
feea87b42f
libfreerdp-crypto: make distinction between TLS connection error and user cancellation
2014-04-01 16:23:27 -04:00
Marc-André Moreau
acf119f9f3
libfreerdp-codec: improve ncrush compressor
2014-04-01 12:18:13 -04:00
Marc-André Moreau
add42dfdb9
libfreerdp-codec: ncrush compressor update
2014-03-30 23:12:07 -04:00
Marc-André Moreau
ed89354da8
libfreerdp-codec: start work on NCrush compressor
2014-03-29 17:55:17 -04:00
Marc-André Moreau
83ddb7b82c
libfreerdp-codec: fix unit test compilation
2014-03-29 12:37:16 -04:00
Marc-André Moreau
2524cebfa2
Merge branch 'master' of github.com:mrthebunny/FreeRDP
2014-03-28 12:30:24 -04:00
Benoît LeBlanc
6d55d8859d
Added context error codes
2014-03-28 12:23:16 -04:00
Marc-André Moreau
4c920506ed
libfreerdp-core: add 'Bypass RD Gateway server for local addresses' feature
2014-03-24 14:44:18 -04:00
Marc-André Moreau
fb12998957
libfreerdp-core: fix context error handling
2014-03-22 17:42:44 -04:00
Benoît LeBlanc
3e1dfc6311
updated context error messages. utility macros for getting error code CLASS/TYPE
2014-03-21 13:45:43 -04:00
Benoît LeBlanc
d1b9565f51
Added context-specific error management.
...
Added error codes to replace connectErrorCode.
2014-03-20 18:19:54 -04:00
Marc-André Moreau
5951a9178c
libfreerdp-codec: remove old NCrush decompressor
2014-03-16 21:16:53 -04:00
Marc-André Moreau
698cae2052
libfreerdp-codec: start hooking new NCrush decompressor
2014-03-16 20:54:07 -04:00
Marc-André Moreau
882f3098b3
libfreerdp-codec: add more NCrush tables, decode literals and CopyOffsets
2014-03-16 15:51:35 -04:00
Marc-André Moreau
2570e064ce
libfreerdp-codec: add NCrush unit tests and tables
2014-03-15 22:18:22 -04:00
Marc-André Moreau
47ed6002f6
libfreerdp-codec: stub ncrush bulk compression
2014-03-15 14:03:05 -04:00
Marc-André Moreau
85049299e0
libfreerdp-core: improve MPPC compress/decompress function definitions
2014-03-11 21:42:27 -04:00
Marc-André Moreau
201bbf5df4
Merge branch 'master' of github.com:awakecoding/FreeRDP into mppc
2014-03-11 11:57:01 -04:00
Marc-André Moreau
8b15db3b66
Merge branch 'master' of github.com:awakecoding/FreeRDP
2014-03-11 11:55:49 -04:00
Marc-André Moreau
b245dea4a8
channels/rdpei: make use of callback interface for Suspend/Resume touch events
2014-03-11 11:55:38 -04:00