Commit Graph

1126 Commits

Author SHA1 Message Date
Hardening
0ce300125b Drop unused field 2014-06-03 11:04:12 +02:00
Marc-André Moreau
e74fb24ad1 channels/rdpgfx: start working on capability sets 2014-06-03 00:05:43 -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
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
8d8e0c24fe libfreerdp-codec: improve xcrush compressor error checking 2014-05-23 17:38:10 -04:00
Marc-André Moreau
55e096a82f libfreerdp-codec: add xcrush match optimization and output generation 2014-05-23 13:59:34 -04:00
Armin Novak
f62dab9fd3 Added callbacks and names for TSMF. 2014-05-23 13:10:34 +02:00
Armin Novak
3fde4f0bc2 Added callback dictionary with context to allow client to communicate with plugin. 2014-05-23 13:04:51 +02:00
Marc-André Moreau
ee935a3760 libfreerdp-codec: add match info functions 2014-05-22 17:38:01 -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
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
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
de1c08736f Fix ringbuffer_write() to use const BYTE * instead of const void * 2014-05-21 19:12:51 +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
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
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
5e97757939 freerdp: fix improper .rdp file parsing 2014-05-10 17:28:34 -04: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
Marc-André Moreau
e0966bbfff Merge branch 'master' of github.com:mrthebunny/FreeRDP 2014-03-10 23:08:17 -04:00
Marc-André Moreau
98f98c95e9 libfreerdp-codec: remove old MPPC decompressor, fix RDP4 MPPC 2014-03-10 16:19:47 -04:00
Marc-André Moreau
f31676e4e4 libfreerdp-codec: make MPPC compressor produce output identical to Microsoft implementation 2014-03-10 15:06:23 -04:00
Marc-André Moreau
61ecd0ff31 libfreerdp-core: add bulk.c to handle bulk compression in a centralized place 2014-03-10 11:41:10 -04:00
Marc-André Moreau
4310089102 libfreerdp-core: add options for specifying compression level 2014-03-10 11:16:36 -04:00
Marc-André Moreau
ab5e2b4f3d Merge branch 'mppc' of github.com:awakecoding/FreeRDP into mppc 2014-03-10 10:06:03 -04:00
Marc-André Moreau
dde2c26957 Merge branch 'master' of github.com:awakecoding/FreeRDP into mppc 2014-03-10 10:05:50 -04:00
Marc-André Moreau
805876f976 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-03-10 10:05:29 -04:00
Zhang Zhaolong
bb2e5c5cb9 clipboard: wfreerdp: implement file clipping. 2014-03-10 14:25:59 +08:00
Zhang Zhaolong
353b4f8ba3 clipboard: add events for file clipping. 2014-03-10 14:25:56 +08:00
Marc-André Moreau
ad7ed25d30 libfreerdp-codec: reduce amount of MPPC context variables 2014-03-09 20:45:42 -04:00
Marc-André Moreau
6c89e3cff7 libfreerdp-codec: initial MPPC decompression support 2014-03-09 19:55:52 -04:00
Marc-André Moreau
d9a2fb4ff9 libfreerdp-codec: start MPPC compressor 2014-03-08 17:38:47 -05:00
Marc-André Moreau
95127d5632 libfreerdp-codec: start testing MPPC against large buffer 2014-03-05 18:03:39 -05:00
Benoît LeBlanc
557c082458 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-05 16:35:22 -05:00
Marc-André Moreau
cea902deb8 libfreerdp-codec: produce correct LOM/CO sequences 2014-03-05 15:29:04 -05:00
Marc-André Moreau
35a289e14a libfreerdp-codec: start new MPPC compressor 2014-03-03 16:15:29 -05:00
Marc-André Moreau
c697941de2 libfreerdp-codec: add new freerdp_image_copy function with detailed parameters 2014-02-28 21:51:29 -05:00
Marc-André Moreau
8510ad3171 freerdp: remove rdpChannel definition in favor of CHANNEL_DEF 2014-02-28 12:07:22 -05:00
Marc-André Moreau
6e1cdf1b67 libfreerdp-core: expose opaque HANDLE instead of WTSVirtualChannelManager* 2014-02-27 13:30:04 -05:00
Marc-André Moreau
922624f5b4 Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 12:14:18 -05:00
Marc-André Moreau
f3011492d8 freerdp-server: remove usage of deprecated custom server-side channel API 2014-02-16 23:09:21 -05:00
Marc-André Moreau
9afddf66ad libfreerdp-core: implement WTSVirtualChannelOpenEx 2014-02-16 23:00:58 -05:00
Marc-André Moreau
1afeb448b4 libfreerdp-core: expose stubbed WtsApi function table from the core 2014-02-16 20:12:45 -05:00
Marc-André Moreau
de3156512c libfreerdp-core: start including wtsapi.h 2014-02-16 18:02:50 -05:00
Marc-André Moreau
82b922a70d channels: rename custom CHANNEL_ENTRY_POINTS_EX to CHANNEL_ENTRY_POINTS_FREERDP to fix conflict 2014-02-16 17:38:59 -05:00
Marc-André Moreau
b833073f57 libfreerdp-core: make client virtual channel API prototypes converge towards original API 2014-02-16 17:27:36 -05:00