FreeRDP/include/freerdp
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
..
cache libfreerdp-cache: refactor glyph cache and add logging 2013-11-01 10:01:16 -04:00
channels wtsvc: add extended channel handling functions 2014-05-07 20:20:02 +02:00
client channels/rdpei: make use of callback interface for Suspend/Resume touch events 2014-03-11 11:55:38 -04:00
codec Merge branch 'xcrush' of github.com:awakecoding/FreeRDP 2014-05-08 16:11:55 -04:00
crypto Allow transport_write calls to be non-blocking 2014-05-21 17:42:31 +02:00
gdi freerdp: fix order of OrderSupport initialization 2013-12-10 12:30:25 -05:00
locale FreeRDP: fixed access violation crash that occurred on Windows, because the malloc and the free were performed in different libraries. 2013-07-25 10:22:57 -04:00
rail libfreerdp-rail: fix C++ inclusion of header files 2013-10-14 23:34:35 -04:00
server Fixes in the server-side sound channel 2014-04-29 01:02:35 +02:00
utils Add a ringbuffer implementation targetting byte sending 2014-05-21 17:27:36 +02:00
addin.h Fixed compilation with -Wstrict-prototypes 2013-02-14 22:20:43 +01:00
altsec.h libfreerdp-core: added message queue stubs 2013-01-24 17:11:43 -05:00
api.h Fix Windows missing __func__ defines. 2013-01-20 10:53:26 +08:00
client.h Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2013-11-07 10:42:35 -05:00
constants.h libfreerdp-core: expose stubbed WtsApi function table from the core 2014-02-16 20:12:45 -05:00
dvc.h channels/drdynvc: refactor and start exporting interface 2013-05-13 16:07:42 -04:00
error.h Added context error codes 2014-03-28 12:23:16 -04:00
event.h Added PubSub notification on mouse events (only triggered in Windows) 2014-01-17 18:17:10 -05:00
extension.h libfreerdp: header cleanup 2012-12-14 00:25:48 -05:00
freerdp.h Added context-specific error management. 2014-03-20 18:19:54 -04:00
graphics.h include: add missing extern C decls. 2013-01-22 22:48:52 +08:00
input.h Merge branch 'master' of https://github.com/FreeRDP/FreeRDP.git 2013-04-15 11:15:49 +01:00
listener.h libfreerdp-core: add event handle support to listener 2013-07-21 16:21:46 -04:00
message.h clipboard: add events for file clipping. 2014-03-10 14:25:56 +08:00
peer.h Allow transport_write calls to be non-blocking 2014-05-21 17:42:31 +02:00
pointer.h libfreerdp: header cleanup 2012-12-14 00:25:48 -05:00
primary.h libfreerdp-core: start encoding server-side bounds 2013-05-09 19:41:32 -04:00
primitives.h primitives: make use of winprs processor feature detection 2013-03-01 09:02:14 +01:00
rail.h channels/rail: add missing definitions 2014-04-22 17:21:14 -04:00
scancode.h add additional evdev key mappings for multimedia and Korean keyboards 2014-01-14 15:18:20 -07:00
secondary.h libfreerdp-core: fix async updates with palettes 2013-02-03 16:19:25 -05:00
settings.h Allow transport_write calls to be non-blocking 2014-05-21 17:42:31 +02:00
svc.h libfreerdp-core: expose stubbed WtsApi function table from the core 2014-02-16 20:12:45 -05:00
types.h freerdp: remove rdpChannel definition in favor of CHANNEL_DEF 2014-02-28 12:07:22 -05:00
update.h libfreerdp-core: added debug output for surface commands 2013-10-08 20:40:58 -04:00
version.h.in updated file headers 2013-12-04 11:44:22 +01:00
window.h xfreerdp: add special extended window style WS_EX_DECORATIONS for XRDP 2013-03-28 23:47:39 -04:00