FreeRDP/include/freerdp/crypto
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
..
ber.h Fixed a range of BER boundary encoding bugs which would occur when any NLA packet hit the 127 character mark. Removed ber#get_content_length as it was not behaving deterministically. 2013-05-21 16:06:00 +01:00
certificate.h libfreerdp-utils: purge old STREAM utils 2013-03-21 16:45:25 -04:00
crypto.h Changes for base64 2014-05-11 22:49:10 +02:00
der.h libwinpr-utils: combine old and new stream utils 2013-03-21 15:19:33 -04:00
er.h libfreerdp-utils: purge old STREAM utils 2013-03-21 16:45:25 -04:00
per.h libfreerdp-utils: purge old STREAM utils 2013-03-21 16:45:25 -04:00
tls.h Allow transport_write calls to be non-blocking 2014-05-21 17:42:31 +02:00